CreateWindowEx

CreateWindowExは、ウィンドウを作成するWindowsAPI・・・。

CreateWindowEx 関数

CreateWindowとの違いは、第1引数に拡張スタイルを指定できることである・・・。

今回は、メインウィンドウの中に、"STATIC"ウィンドウクラスの子ウィンドウを作成し、その子ウィンドウにはWS_EX_CLIENTEDGEという拡張スタイルを付ける・・・。

WM_CREATE時に、lParamをLPCREATESTRUCTにキャストしてlpCSに格納・・・。
これで、インスタンスハンドルが必要な時に、lpCS->hInstanceが使える・・・。
lpCSがNULLでなければ、CreateWindowExで"STATIC"ウィンドウクラスの子ウィンドウを作成・・・。
WS_EX_CLIENTEDGEを付けると、縁が凹んだようなスタティックコントロールになる・・・。
第4引数のウィンドウスタイルはこれまで通り、WS_CHILD | WS_VISIBLE・・・。
第9引数は親ウィンドウハンドルhwnd・・・。
第10引数はリソースIDを指定するが、今回は他にコントロールもないので、特にリソースを追加する必要もなく適当に501を指定した・・・。
第11引数にlpCS->hInstance・・・。

実行すると、

f:id:BG1:20160912160844p:plain

縁の凹んだスタティックコントロール・・・。
第1引数の拡張スタイルにWS_EX_CLIENTEDGEを指定したからである・・・。

Sample/winapi/CreateWindowEx/CreateWindowEx/src/CreateWindowEx at master · bg1bgst333/Sample · GitHub