|
|
||||
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); } //------------------------------------------------------------------- |