目次に戻る
一覧ページに戻る
CPButton::Repaint
2002/02/01 update.
Ver 1.07
ボタンの再描画を促します。

書式

  void Repaint();

解説


ボタンの再描画を促します。
イベントなどで動的にボタンの内容が変化した、という場合には「Repaint」を呼び出して再描画を促す必要があります。





ウィンドウ(ダイアログ)を生成して、その中にボタンを配置します。

CPWindow win;
CPCheckBox chkbox;
CPButton but;

//チェックボックスのイベントを受け取る
static void OnCheck(CPCheckBox *lpChk)
{
    //再描画を促す
    but.Repaint();
}

//ボタンのイベントを受け取る
static void OnButttonSelect(CPButton *lpButton)
{
    //親ウィンドウより「CloseWindow」を呼び出し、
    //ウィンドウを閉じる
    lpButton->GetParentWindow()->CloseWindow();
}

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

    //チェックボックスの位置・サイズを指定
    chkbox.SetBounds(10,10,120,14);

    //チェックボックスの文字列を指定
    chkbox.SetText("CheckBox");

    //チェックボックスのチェック
    chkbox.SetSelected(CP_TRUE);

    //チェックボックスのコールバック関数設定
    chkbox.AttachSelectEvent(OnCheck);

    //チェックボックスをCPWindowに結びつける
    win.Add(&chkbox);

    //ボタンの位置・サイズを指定
    but.SetBounds(20,30,120,20);

    //ボタンの文字列を指定
    but.SetText("Button");

    //ボタンのコールバック関数設定
    but.AttachSelectEvent(OnButttonSelect);

    //ボタンをCPWindowに結びつける
    win.Add(&but);

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

この例では、chkboxで示されるチェックボックスにコールバック関数「OnCheck」が指定されています。
これにより、chkboxのチェックボックスにアクションがあった場合は、staticで定義された関数「OnCheck」が呼ばれることになります。
この後に「but.Repaint()」を呼び出してプッシュボタンの再描画を行っています。
また、ボタン「but」がクリックされた場合には、コールバック関数「OnButtonSelect」が呼ばれます。
ここで、親クラス(CPWindow)を取得し、「CloseWindow」でダイアログを閉じています。


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


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


関連リンク


CPButtonクラス