各ウィンドウスタイルでのCreateParamsのStyleとExStyle値
各ウィンドウスタイルでのCreateParamsのStyleとExStyle値を紹介します。
値
FormBorderStyle.none
CreateParams.Stype = 0x2010000
WS_CLIPCHILDREN | WS_TABSTOP
CreateParams.ExStyle = 0x50000
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT
FormBorderStyle.FixedSingle
CreateParams.Stype = 0x2cb0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50000
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT
FormBorderStyle.Fixed3D
CreateParams.Stype = 0x2cb0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50200
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_CLIENTEDGE
FormBorderStyle.FixedDialog
CreateParams.Stype = 0x2cb0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50001
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_DLGMODALFRAME
FormBorderStyle.Sizeable
CreateParams.Stype = 0x2cf0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_THICKFRAME | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50000
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT
FormBorderStyle.FixedToolWindow
CreateParams.Stype = 0x2cb0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50080
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_TOOLWINDOW
FormBorderStyle.SizeableToolWindow
CreateParams.Stype = 0x2cf0000
CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_THICKFRAME | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50080
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_TOOLWINDOW
特殊な形のウィンドウ
サイズ変更枠のみのウィンドウ(サイズ縮小時の制限あり)
CreateParams.Stype = 0x24f0000
WS_CLIPCHILDREN | WS_DLGFRAME | WS_THICKFRA | WS_SYSMENU | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50001
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_DLGMODALFRAME
サイズ変更枠のみのウィンドウ(サイズ縮小時の制限なし)
CreateParams.Style = 0x70000
WS_THICKFRAME | WS_GROUP | WS_TABSTOP
CreateParams.ExStyle = 0x50001
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT | WS_EX_DLGMODALFRAME
その他
- ShowInTaskBar=Falseの場合はExStyleからWS_EX_APPWINDOW が外れる。
- TopMostプロパティがTrueの場合 ExStyleに WS_EX_TOPMOST がつく
値の変化過程
FormBorderStyle.none
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2010000, 0x50000
FormBorderStyle.FixedSingle
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2cb0000, 0x50000
FormBorderStyle.Fixed3D
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2cb0000, 0x50200
FormBorderStyle.FixedDialog
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2cb0000, 0x50001
FormBorderStyle.Sizeable
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
FormBorderStyle.FixedToolWindow
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2cb0000, 0x50080
FormBorderStyle.SizeableToolWindow
cp.Stype,sp.ExStyle
0x56cf0000, 0x50001
0x2cf0000, 0x50000
0x2cf0000, 0x50080
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用