Q:コンポジティングウインドウで Scrollin Text Box コントロールが機能しません。
A:一部の古いコントロールは、Mac OS X 10.2 で新たに導入されたコンポジティングウインドウでは正しく機能しません。これらのコントロールの一部(たとえば Databrowser)は Mac OS X 10.3 でアップデートされているので機能しますが、開発者にあまり人気のないものや、代替手段のあるものはアップデートされていません。
Scrolling Text Box コントロール(CDEF 27)はリソースベースであり、現行の Mac OS X API は他の種類のストレージを使用する傾向があります。
サンプルコード HIScrollingTextBox は、このコントロールのための 2 つの異なる代替手段を示しています。
|
リスト 1 HICreateScrollingTextBox
|
extern OSStatus
HICreateScrollingTextBox(
const HIRect * inBounds, /* NULL の場合もある */
CFStringRef inScrollingText,
Boolean inAutoScroll,
UInt32 inDelayBeforeAutoScroll,
UInt32 inDelayBetweenAutoScroll,
UInt16 inAutoScrollAmount,
HIViewRef * outHIView);
|
この API は、Mac OS X 10.2 以降で使用でき、CreateScrollingTextBoxControl と同じパラメータを取ります。ただし、不要な WindowRef パラメータとリソース ID 番号は、CFStringRef によって置き換えられています。
|
リスト 2 HICreateScrollingHITextBox
|
extern OSStatus
HICreateScrollingHITextBox(
const HIRect * inBounds, /* NULL の場合もある */
CFURLRef inURLRef,
Boolean inAutoScroll,
UInt32 inDelayBeforeAutoScroll,
UInt32 inDelayBetweenAutoScroll,
UInt16 inAutoScrollAmount,
HIViewRef * outHIView);
|
この API は、Mac OS X 10.3 以降で使用でき、CreateScrollingTextBoxControl と同じパラメータを取ります。ただし、不要な WindowRef パラメータとリソース ID 番号は、CFURLRef によって置き換えられています。この CFURLRef は、たとえば TextEdit で作成された .rtf ファイルを指定することができます。
[2003 年 11 月 13 日]
|