#includeの下あたりに書いても動いた。
つまり、int APIENTRY WinMain( ) の前。
WndProc( ) の中の case WM_CREATE: でもいいよね。

よくあるソース

LRESULT CALLBACK WndProc(HWND 省略){

 HDC hDC;
 PAINTSTRUCT ps;
 char *str = "abc";

 switch (msg){
 case WM_PAINT:
  hDC = BeginPaint(hWnd, &ps);
  TextOut(hDC,0,0,str,3);
  EndPaint(hWnd, &ps);
 break;

これは

 HDC hDC;
 PAINTSTRUCT ps;
 char *str = "abc";

が何度も実行されるから無駄がある。

LRESULT CALLBACK WndProc(HWND 省略){

 switch (msg){
 case WM_CREATE:
  HDC hDC;
  PAINTSTRUCT ps;
  char *str = "abc";
 break;
 case WM_PAINT:
  hDC = BeginPaint(hWnd, &ps);
  TextOut(hDC,0,0,"abc",3);
  EndPaint(hWnd, &ps);
 break;

とした方がいいと思ったけど、こういうソースを
見かけないのはどうして?