ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

コードでボタンをへこませる(BM_SETSTATE) 

更新 : 2011/03/19

 


解説:
アプリケーションの状況によっては、Button コンポーネントを他のコンポーネントから操作したい時があります。
これを実現するには、Win32API の関数 SendMessage で BM_SETSTATE をボタンに送ります。
BM_SETSTATE を送ると、ボタンを選択した状態や解除した状態にすることができます。

ちょっと寄り道:
SendMessage 関数の引数 Msg に BM_SETSTATE を指定します。

LRESULT SendMessage(
    HWND hWnd, // 送信先ウィンドウのハンドル
    UINT Msg, // メッセージ
    WPARAM wParam, // メッセージの最初のパラメータ
    LPARAM lParam // メッセージの 2 番目のパラメータ
);

2 番目のパラメータ LPARAM の値は 0 にします。

使用例:
以下の例では、アプリケーション起動後、Button1 をクリックして Button2 をへこませています。

準備としては Button を二つ適当に配置するだけです。

Button1 の OnClick イベントハンドラで、Button2 に BM_SETSTATE を送ります。
これで Button2 がへこみます。

余裕のある方は、へこみをもとに戻したり、クリックを実現したりしてみてください。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    SendMessage(Button2->Handle, BM_SETSTATE, 1, 0);
}
//-------------------------------------------------------------------
 



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.