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

CBアプリ工房


Tips >   

ControlStyle で UpDown の OnChanging を制御 

更新 : 2010/10/10

 


解説:
コントロールスタイルの属性を示すプロパティに ControlStyle があります。
コントロールがマウスイベントをキャプチャする、コントロールの各種属性を調べる、などがスタイルフラグを設定することで可能になります。

マウスイベントでのキャプチャは便利なのですが、悪さもします。UpDown の OnChanging イベントでその様子を見てみます。

使用例:
以下の例では、アプリケーションを起動後、UpDown1 をクリックすると、変更の旨をメッセージします。その後、Button1 をクリックしてもメッセージが表示されてしまいます。コードを追加して、これを回避させます。

準備として Edit、UpDown を適当に置き、 追加で Button、CheckBox などを配置しておきます。
UpDown1 のAssociate プロパティには Edit1 を指定しておいてください。

UpDown1 をクリックすると、"変更します!!" のメッセージが表示され、Edit1 の数字が変わります。
その後、Button1 や CheckBox1 をクリックしてもメッセージが表示されてしまいます。
コンストラクタで ControlStyle のスタイルフラグを変更して回避させます。

スタイルフラグはいくつかありますので、各フラグを試しておくといいでしょう。

//-------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    // 以下のコードを有効にしてキャプチャを回避
    //UpDown1->ControlStyle = UpDown1->ControlStyle >> csCaptureMouse;
}
//-------------------------------------------------------------------
void __fastcall TForm1::UpDown1Changing(TObject *Sender, bool &AllowChange)
{
    ShowMessage("変更します!!");
}
//-------------------------------------------------------------------



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