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

書式

  typedef void (* LP_SPINEDITBOXPROC)(CPSpinEditBox *);
  CP_BOOL AttachFocusEvent(LP_SPINEDITBOXPROC lpProc);

パラメータ


lpProc
「void xxxx(CPSpinEditBox *)」型のstatic関数を指定します。
ここで指定したコールバック関数に対し、スピンエディットボックスにフォーカスが入った場合のイベント処理を行います。

解説


スピンエディットボックスにフォーカスが入った場合のコールバック関数を設定します。
なお、コールバック関数は必ずstaticの静的関数である必要があります。
コールバックを解除する場合は「DetachFocusEvent( )」を呼び出してください。





ウィンドウ(ダイアログ)を生成して、その中にスピンエディットボックスを配置します。

CPWindow win;
CPSpinEditBox spine;

//スピンエディットボックスのフォーカスイベントを受け取る
static void OnSpinEditFocus(CPSpinEditBox *lpSpinEditBox)
{
    ....
}

//スピンエディットボックスのチェンジイベントを受け取る
static void OnSpinEditChange(CPSpinEditBox *lpSpinEditBox)
{
    ....
}

void main()
{
    //ダイアログを生成する
    win.Clear();
    win.CreateNewDialog("TestDialog",120,120,300,200);

    //スピンエディットボックスの位置・サイズを指定
    spine.SetBounds(10,10,120,20);

    //フォーカスイベントのコールバック関数指定
    spine.AttachFocusEvent(OnSpinEditFocus);

    //チェンジイベントのコールバック関数指定
    spine.AttachChangeEvent(OnSpinEditChange);

    //スピンエディットボックスをCPWindowに結びつける
    win.Add(&spine);

    //ダイアログの表示・イベントループの開始
    win.DoModal();
}

この例では、スピンエディットボックスにフォーカスが入った場合に「OnSpinEditFocus」関数が呼ばれます。
スピンエディットボックスの文字列が変更された場合には「OnSpinEditChange」関数が呼ばれます。


ビルド時に必要なファイル


ライブラリ :CPartsLib.lib (Macintoshの場合は、CPartsCW.a)
ヘッダ :CPSpinEditBox.h


関連リンク


CPSpinEditBoxクラス
CPSpinEditBox::DetachFocusEvent
CPSpinEditBox::AttachChangeEvent
CPSpinEditBox::DetachChangeEvent