目次に戻る
一覧ページに戻る
CPPushButton::Repaint
2001/12/25 update.
プッシュボタンの再描画を促します。

書式

  void Repaint();

解説


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





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

CPWindow win;
CPCheckBox chkbox;
CPPushButton but;

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

//プッシュボタンのイベントを受け取る
static void OnPush(CPPushButton *lpPushButton)
{
    //親ウィンドウより「CloseWindow」を呼び出し、
    //ウィンドウを閉じる
    lpPushButton->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("PushButton");

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

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

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

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


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


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


関連リンク


CPPushButtonクラス