コンボボックスにフォーカスが入ったときのコールバック関数を設定します。
書式
typedef void (* LP_COMBOBOXPROC)(CPComboBox *);
CP_BOOL AttachFocusEvent(LP_COMBOBOXPROC lpProc);
|
パラメータ
lpProc
「void xxxx(CPComboBox *)」型のstatic関数を指定します。
ここで指定したコールバック関数に対し、コンボボックスにフォーカスが入った場合のイベント処理を行います。
解説
コンボボックスにフォーカスが入った場合のコールバック関数を設定します。
なお、コールバック関数は必ずstaticの静的関数である必要があります。
コールバックを解除する場合は「DetachFocusEvent( )」を呼び出してください。
例
ウィンドウ(ダイアログ)を生成して、その中にコンボボックスを配置します。
CPWindow win;
CPComboBox cbox;
//コンボボックスのフォーカスイベントを受け取る
static void OnComboFocus(CPComboBox *lpCombo)
{
....
}
//コンボボックスのチェンジイベントを受け取る
static void OnComboChange(CPComboBox *lpCombo)
{
....
}
void main()
{
//ダイアログを生成する
win.Clear();
win.CreateNewDialog("TestDialog",120,120,300,200);
//コンボボックスの位置・サイズを指定
cbox.SetBounds(10,10,120,20);
//コンボボックスの文字列を追加
cbox.AddText("Item 1");
cbox.AddText("Item 2");
cbox.AddText("Item 3");
//フォーカスイベントのコールバック関数指定
cbox.AttachFocusEvent(OnComboFocus);
//チェンジイベントのコールバック関数指定
cbox.AttachChangeEvent(OnComboChange);
//コンボボックスをCPWindowに結びつける
win.Add(&cbox);
//ダイアログの表示・イベントループの開始
win.DoModal();
}
この例では、コンボボックスにフォーカスが入った場合に「OnComboFocus」関数が呼ばれます。
コンボボックスのリストの選択で、値が変更された場合には「OnComboChange」関数が呼ばれます。
ビルド時に必要なファイル
ライブラリ
| :CPartsLib.lib (Macintoshの場合は、CPartsCW.a)
|
ヘッダ
| :CPComboBox.h
|
関連リンク
CPComboBoxクラス
CPComboBox::DetachFocusEvent
CPComboBox::AttachChangeEvent
CPComboBox::DetachChangeEvent