Jump To:
Leopard Technical Q&As: Carbon
The Human Interface Toolbox is an object-oriented C API for implementing user interfaces, available in Mac OS X v10.2 and later. Controls, windows, and menus are subclassed from the HIObject base class or the HIView subclass; the HIObject object acts as the data store (instance), and Carbon event handlers are the methods. The standard toolbox managers (Window Manager, Control Manager, and so on) work seamlessly with this new model, while its object-oriented nature makes it much easier to create custom user interface elements.

Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Date
Adding an automated Window menu to your application (HTML)
QA1080: Explains how to add an automated Window menu to your Carbon application.
2001-10-30
Are the root control, the root view, and the content view the same entity? (HTML) (日本語 HTML)
QA1214: Details the differences and similitudes between the root control, the root view, and the content view of windows.
2002-11-12
Can I have parameters of type typeHIRect instead of type typeQDRectangle in my kEventControlBoundsChanged message handler? (HTML) (日本語 HTML)
QA1246: Details the automatic coercions between QuickDraw and Quartz types provided by the Carbon Event Parameter accessors.
2003-04-03
Carbon Drawer problem in Mac OS X v10.4 and v10.4.1 (HTML)
QA1435: Workaround for a drawer problem present in Mac OS X v10.4 but fixed in v10.4.2
2005-06-21
CGContext parameter missing in my kEventControlDraw event (HTML) (日本語 HTML)
QA1212: Explains in which case your kEventControlDraw handler wouldn't receive a CGContext parameter.
2002-11-12
Clickable Static Text Item (HTML)
QA1380: Explains how to make a static text item respond to clicks
2004-10-05
The Data Browser GetDataBrowserUserState API (HTML) (日本語 HTML)
QA1270: Explains a problematic Data Browser API definition and how to work around it.
2003-07-22
Defining and Using the kTransformFocused IconTransformType (HTML)
QA1414: Documents a new IconTransformType, available in Panther and later, which draws a focus ring around an icon.
2005-03-29
Do I have to call CreateRootControl after creating my window? (HTML) (日本語 HTML)
QA1215: Explains when and when not to call CreateRootControl after creating a window.
2002-11-12
Enabling the application menu's "Preferences..." menu item on Mac OS X (HTML)
QA1079: Explains how to enable the application menu's "Preferences..." menu item on Mac OS X.
2001-10-30
Enabling the Navigation Services default behavior in its dialogs (HTML)
QA1384: Explains how to enable the default behavior of the Navigation Services dialogs.
2004-10-15
Filtering QuickTime media types in Navigation Services (HTML) (日本語 HTML)
QA1274: Describes how to filter QuickTime media types in a Navigation Services filter procedure.
2003-07-23
Fixing the Layout Binding of the Tab control User Panes (HTML)
QA1161: Describes the Tab control hierarchy and layouts of its panes and provides a fix to a common problem.
2004-10-14
HIObjectRegisterSubclass returns paramErr (HTML) (日本語 HTML)
QA1213: Explains in which case HIObjectRegisterSubclass would return paramErr and gives a work around.
2002-11-12
How can I handle smooth mouse wheel scrolling? (HTML)
QA1453: Details an undocumented Carbon Event which will be added to the public headers in a later DevTools release.
2005-11-29
How can I set the default location with the modern Navigation APIs NavCreatexxx? (HTML) (日本語 HTML)
QA1151: Explains how to set the default location with a NavCustomControl call using the kNavCtlSetLocation message in the Event Proc.
2002-07-01
How PBDTGetAPPL Chooses Which Copy of an App to Launch (HTML) (日本語 HTML)
Deprecated - TB19: Explains how PBDTGetAppl() chooses which application copy to launch, and how to deal with the trash.
1996-05-14
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
2001-09-14
The intermittent behavior of SetDialogItemText (HTML)
Deprecated - QA1082: Explains why SetDialogItemText may seem to not work correctly if you have embedding turned on.
2001-10-30
Losing the character code when using the control key (HTML)
QA1446: Explains why the control key transforms the character code instead of simply setting the appropriate modifier bit.
2006-07-17
Managing custom drawing code in a compositing world (HTML)
QA1162: Explains why any custom drawing code must be handled by the kEventControlDraw handler of a custom HIView
2004-10-14
Moving the Menu Bar (HTML) (日本語 HTML)
Deprecated - TB54: Describes how to move the menubar to another Macintosh Display and why this move is unadvisable.
1998-12-22
Multiple Resources with the Same Type and ID (HTML) (日本語 HTML)
TB30: Explains why Resource IDs should be unique within a given resource type within a given resource file.
1996-11-27
My custom item dismisses my Navigation Services dialog (HTML)
QA1381: Gives a workaround for dismissive clicks on items in the custom area of Navigation Services dialogs.
2004-11-22
My ListBox control works fine on Mac OS X but I get a crash on Mac OS 9 when I click in the scrollbar (HTML) (日本語 HTML)
QA1156: Explains the requirements for the use of the Listbox Control on Mac OS 9 and Mac OS X.
2002-07-12
Notifying the Finder of changed or newly created files (HTML) (日本語 HTML)
QA1260: Recommended approach to notifying the Finder to update its open windows of a file creation or change.
2003-04-15
Private HITheme APIs in Mac OS X 10.2 should not be called (HTML)
QA1377: Explains why weak-linked API common runtime check is not good enough for the HITheme APIs.
2004-10-27
Process Carbon Events Not Delivered in 10.2 (HTML) (日本語 HTML)
QA1181: Work around for a bug in Mac OS X 10.2 that prevents the delivery of process Carbon events.
2002-08-27
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
2000-11-08
Resource forks in Mach-O binaries (HTML) (日本語 HTML)
QA1175: Advises against using resource forks in Mach-O binaries.
2002-08-07
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
2004-10-04
Setting a Control's Variant Field (HTML) (日本語 HTML)
Deprecated - TB63: Details how to change the variant of a custom control after creating the control.
1999-05-03
Setting a UserPane's feature (HTML) (日本語 HTML)
TB64: Explains how to set up the control attributes when creating controls, and UserPanes in particular.
1999-09-27
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
2006-01-03
StopAlert and NoteAlert now use the Application icon (HTML)
QA1378: System Alerts now use the Application icon to let the User easily identify the source of the alert.
2005-10-04
Unified window title and toolbar appearance in Carbon (HTML)
QA1423: How to use the unified window title and toolbar appearance for a Carbon window.
2005-06-17
Using Navigation Services to filter QuickTime files (HTML) (日本語 HTML)
QA1152: Using the CanQuickTimeOpenFile function in a Navigation Services filter to display files that QuickTime can open.
2002-07-15
Using the Wide Routines in <FixMath.h> (HTML)
TB14: Details the Wide routines listed in the FixMath.h header (WideDivide, WideCompare, WideBitShift, WideShift, etc.).
1995-06-01
What is the minimal set of Carbon Events I need to override in order to implement a simple custom push button? (HTML) (日本語 HTML)
QA1210: Details the minimal set of Carbon Events needed to implement a simple custom push button HIView.
2002-11-12
Why am I not receiving kEventControlHit events for some of the parts of my custom HIView? (HTML)
QA1439: Explains why part codes greater than 127 should not be used
2005-07-14
Why doesn't my Scrolling Text Box control work in a compositing window? (HTML)
QA1324: Explains why some older controls do not function properly in compositing windows and points to a replacement.
2003-11-13
Why is my application crashing in QuickDraw when I'm not using it? (HTML)
QA1256: provides an explanation and workaround for a rare but serious problem affecting all applications.
2006-11-13
Why is my Control/HIView not accepting drops on Mac OS X v10.4 (Tiger)? (HTML)
QA1426: Explains how to handle correctly the kEventControlDragEnter event so drops will work in a Control or HIView.
2005-04-29
Why isn't my edit text box in my Navigation dialog's custom area working on 10.3? (HTML)
QA1315: Explains a bug in the Mac OS X 10.3 Navigation Services Custom Area involving the EditText and its work around.
2003-10-28
Why isn't my Static Text Control deactivating when my other controls are? (HTML) (日本語 HTML)
QA1125: Explains why a Static Text Control is not deactivating when the other controls are.
2002-03-11
X11 FAQ (HTML) (日本語 HTML)
QA1232: Frequently Asked Questions about using Apple's X Window System (X11) implementation.
2003-11-17