- PR -

System.Windows.Forms.Form の CreateParams

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-07-18 20:42
引用:

Spy++ の結果を見てるとウインドウとダイアログの違いが、クラス名くらいしか
見つからなかったので、クラス名かなと思ってしまいましたが、やはりそうなのでしょうか。



Spy++ での見た目の違いはクラス名くらいしかないでしょうね。

ですが、SDK レベルではウィンドウとダイアログでは生成する API そのものが違います。

なので、Windows 内部でウィンドウとダイアログを区別していたとしても不思議は無いです。

本来「ウィンドウ」である Windows Forms の Form にダイアログスタイルを与えた結果、「効果が無い」だけなら良いですが、ひょっとしたら悪い副作用があるかもしれません。

「ウィンドウ」にダイアログスタイルを与えるのは避けた方が吉と思います。
YasuHiro1018
会議室デビュー日: 2006/07/16
投稿数: 18
投稿日時: 2006-07-19 14:12
お世話になります。

囚人さん
引用:
ウィンドウクラスが BUTTON のときに、スタイル値「0x00000001」が立っていたらそれは、BS_DEFPUSHBUTTON

確かに、.NET Framework の Button(クラス名:WindowsForms10.BUTTON.app3)を Spy++ で見ると、
同様に数値のスタイルリスト項目が出てきました。
それと、少し Win32 で言うクラスというものを学び、
ついでに C++ で クラス "BUTTON" を RegisterClassEx で登録し CreateWindow したものを Spy++ で見てみたところ
BS_PUSHBUTTON などがスタイルリスト項目に出できましたので、やはりクラス名での判断なのかなと思いました。

渋木さん
引用:
本来「ウィンドウ」である Windows Forms の Form にダイアログスタイルを与えた結果、「効果が無い」だけなら良いですが、ひょっとしたら悪い副作用があるかもしれません。

「ウィンドウ」にダイアログスタイルを与えるのは避けた方が吉と思います。

そうですね。DS_****** ははずしておこうと思います。

だいぶスッキリすることができました。ありがとうございます。

[ メッセージ編集済み 編集者: YasuHiro 編集日時 2006-07-19 15:57 ]

スキルアップ/キャリアアップ(JOB@IT)