掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PanelをPopupMenuのように自動的にかくすには? (ID:41415)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは. >「この部分はDelphiの特別領域」の部分にprocedure名やfunction名を書く場合は、どのようにしたらよいのでしょうか? 書かないことです(キッパリ!!). >「オブジェクト・インスペクタで行う」とありますが、オブジェクトのイベントとは関係がないprocedureやfunctionの場合、どうしたらよいかわかりません。 [イベントの作成方法 ( 入門者用 )] http://mrxray.on.coocan.jp/Delphi/Others/A_UltraIntro01.htm#list1 の説明にあるように,private 部か,public 部に書きます. このようにする理由はいくつかありますが,その1つは次のようなものです. 1. 「特別な領域」に書いてあるものは,常にフォームに配置したコンポーネントのイベント,または フォームに配置したコンポーネントである. それ以外は,そのプログラムの作成者が作成した関数やメソッドであることの区別がつく 2. [Ctrl]+[Shift]+[↓]または[Ctrl]+[Shift]+[↑]で,宣言部と実装部を往復できる. このキー操作については以下を参照 [コード補完機能等の利用] http://mrxray.on.coocan.jp/Delphi/Others/A_IDETechnique.htm 手前みそですが,私のサイトに掲載しているのサンプルコードのほとんどは,宣言部も掲載しています. これは,上記の意味も含めてそうしています. 既に他の方が,ほとんど説明なしに >procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; をレスしていますが,実はこのイベントの名前で,それがコンポーネントのイベントであるか, 独自に作成して,private 部か,public 部に書いたものかを知ることができます. オブジェクト・インスペクタをダブルクリックして作成したイベントの名前には,ある一定の規則があるからです. これは敢えて説明しません.自分で研究してみてください. >プログラムのフォームのキャプション部分をクリックした場合に、 折角私のサイトに来たのですから,トップページの[検索]を使って欲しかったですね(半分冗談です) 「フォーム キャプション」で検索すると,サンプルプログラム集の[127]番がヒットします. この中に, [03_キャプションバー ( タイトルバー ) のマウスイベント] http://mrxray.on.coocan.jp/Delphi/plSamples/127_FormSystemMenuETC.htm#03 というのがあります.メッセージのスペルから判断して WMNCLButtonDownと予想します.すると,例えば 以下のようなテストプログラムを書いてテストしてみることになります. procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if Msg.message = WM_NCLBUTTONDOWN then begin ShowMessage('キャプションバーがクリックされたよ'); end; end; これらのことを含めて,参考書やネット上のサンプルコードは,「見る」のではなく,「読んで」実際にその プロジェクトをIDEで開いて動作させてみることをお勧めします. そうすれば,いろいろな事が「見えて」きます. 浅田真央ちゃんだって,いきなり世界大会やオリンピックで技をやったわけではありません. 先輩達の演技を「見る」だけでできたのではなく,実際に「真似」してやってみて,自分自身の技を創って いったのだと思います. もちろん,「見る」だけで理解,出来てしまう方もいるかも知れませんが.私に限って言えば,そのような 高級な脳味噌を持っていません.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.