- - PR -
タイトルバーをダブルクリック(C#)
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-30 19:34
お世話になります。563LEと申します。
C#でフォームのタイトルバーをダブルクリックしたときに、最大、最小化されないようにしたいです。 FormBorderStyleは、Sizableで可能にしたいです。 StandardDoubleClickを試したのですが、効果がないです。 どなたか方法をご存知の方、アドバイスいただけないでしょうか? 宜しくお願いします。 | ||||||||
|
投稿日時: 2005-09-30 19:37
こんにちは、じゃんぬ です。
普通に最大化ボタン・最小化ボタンを無効にすれば良いのでは? フォームの最大化ボタン・最小化ボタンを無効にする _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-10-01 08:45
返信ありがとうございます。
>普通に最大化ボタン・最小化ボタンを無効にすれば良いのでは? 説明が足りなくてすみません。 最大・最小化はボタンのみで行ないたいと思っているので、最大・最小化ボタンは使用できるようにしておきたいです。 タイトルバーをダブルクリックすればタイトルバーだけの表示になり、再びダブルクリックすると元に戻るようなフリーソフトがあるので、タイトルバーのダブルクリックのイベントを変更する方法があると思うのですが、どなたかご存知でないでしょうか? ご指導宜しくお願いします。 | ||||||||
|
投稿日時: 2005-10-01 10:45
こんにちは、じゃんぬ です。
じゃあ、WM_NCLBUTTONDBLCLK を捕捉してメッセージを止めるしかないですね。 WM_NCLBUTTONDBLCLK は、クライアント領域以外をダブルクリックしたことを示すメッセージです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-10-01 15:42
返信ありがとうございます。563LEです。
WM_NCLBUTTONDBLCLKとOnNcLButtonDblClk関数を使用してみようと思ったのですが、 C#での使い方がわかりません。 ヘルプなどで調べたのですが、C#に似たような関数などを見つけられませんでした。 フォームのDubleClickのイベントなどを使ってみたのですが、タイトルバーをダブルクリックしてもイベントが発生しませんでした。 C#にWM_NCLBUTTONDBLCLKとOnNcLButtonDblClkのような関数などはあるのでしょうか? 宜しくお願いします。 | ||||||||
|
投稿日時: 2005-10-01 16:44
こんにちは。
>C#にWM_NCLBUTTONDBLCLKとOnNcLButtonDblClkのような関数などはあるのでしょうか? WndProc をオーバーライドします。 「ウィンドウメッセージ」を調べてみてください。 | ||||||||
|
投稿日時: 2005-10-01 16:47
こんにちは、じゃんぬ です。
いや、後者の関数は必要ないでしょう。 先にもお話したように、WM_NCLBUTTONDBLCLK を捕捉してメッセージを止めれば良いのです。 WndProc をオーバーライドして、WM_NCLBUTTONDBLCLK を捕捉したら、 何もせずに return、それ以外は base.WndProc(m); という感じですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-10-01 16:53
こんにちは、じゃんぬ です。
う、書いてる間に回答ついてましたか... 悔しいので、それらしいのを置いておきます。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |