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

CBアプリ工房


Tips >   

Perform でメッセージを直接送る 

更新 : 2010/07/02

 


解説:
Windows はシステムやユーザー、ウィンドウに対して様々なメッセージをやり取りしています。
今回は、システムやユーザーがウィンドウに対して送るメッセージの中から簡単なところで、"閉じる"を扱ってみます。

VCL では Form1 から起動した Form2 は Form2->Close(); で閉じることができます。
同じ動作は VCL の TControl メソッド Perform でも実現可能です。このメソッドは、メッセージをコントロールのウィンドウプロシージャへ直接送ることができます。

"閉じる"で使うメッセージには WM_CLOSE を使います。
WM_CLOSE はウィンドウを閉じたい時に、 システムやユーザーがウィンドウに対して送るメッセージで、これによりウィンドウが閉じられます。

使用例:
VCL  の Perform 関数を使って、Form2 を閉じてみます。

コンポーネントは、 Button を二つ適当に配置してください。
Form2 を作成して、[ファイル|ユニットを使う] から指定しておきます。

Button1 の OnClick イベントで Form2 を表示させ、Button2 の OnClick イベントで閉じています。

同じ動作は、Win32API の SendMessage 関数でも行えます(Tipsを参照してください)。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Form2->Show();
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
     Form2->Perform(WM_CLOSE, 0, 0);
}
//-------------------------------------------------------------------



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