目次に戻る
一覧ページに戻る
CPComboBox::AttachFocusEvent
2001/12/20 update.
コンボボックスにフォーカスが入ったときのコールバック関数を設定します。

書式

  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