Q: SetFontInfoForSelection API を使おうとしているため、テキストは「フォントパネル」でのユーザの選択肢に対応していますが、通知を受け取ったことがありません。何が起きているのでしょう。
A: これは、ヘッダファイル FontPanel.h の既知のバグです。 SetFontInfoForSelection は、最後の第 4 パラメータとして HIObjectRef を受け取るようにプロトタイプされていますが、実際には、ここは EventTargetRef でなければなりません。 そのパラメータの名前である iFPEventTarget が、期待されているパラメータの種類をより正確に反映しています。
簡単な型キャストでこの問題は解決されます。 リスト 1. ウインドウの場合
SetFontInfoForSelection(..., ..., ..., (HIObjectRef)GetWindowEventTarget(theWindow));
または、 リスト 2. コントロールの場合
SetFontInfoForSelection(..., ..., ..., (HIObjectRef)GetControlEventTarget(theControl));
将来のリリースにおいてこのヘッダファイルが修正された場合でも、この型キャストは(必要はなくなりますが)正しく動作します。
ドキュメントの改訂履歴掲載日: 2004-10-04
|