不知道为什么,运行的时候都没有图片显示,更改窗口类型的话也是没效果..
#include <windows.h>
#include "resource.h"
#include "afxres.h"LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;HWND hwnd;
HWND childHwnd ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("HelloWin");
MSG msg;
WNDCLASS wndclass;  wndclass.style     = CS_HREDRAW | CS_VREDRAW;
  wndclass.lpfnWndProc    = WndProc;
wndclass.cbClsExtra     = 0;
wndclass.cbWndExtra     = 0;
wndclass.hInstance     = hInstance;
wndclass.hIcon     = LoadIcon (NULL, IDI_APPLICATION);
   wndclass.hCursor     = LoadCursor (NULL, IDC_ARROW);
  wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
   wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName; if (!RegisterClass (&wndclass))
     {
MessageBox ( NULL, TEXT ("This program requires Windows NT!"), 
           szAppName, MB_ICONERROR) ;
return 0 ;
     } hwnd = CreateWindow( szAppName, // window class name
TEXT ("The Hello Program"), // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
    NULL,         // window menu handle
    hInstance,     // program instance handle
    NULL) ;      // creation parameters // 子窗口,用来画棋盘和棋子
    childHwnd = CreateWindow(wndclass.lpszClassName,                           
                             NULL,                                           
                             WS_CHILD | WS_VISIBLE,                           
                             0,30,500,400,                                           
                             hwnd,                                           
                             NULL,                                           
                             hInstance,                                      
                             NULL);
     
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
     
while (GetMessage (&msg, NULL, 0, 0))
     {
TranslateMessage (&msg) ;
   DispatchMessage (&msg) ;
     }
return msg.wParam ;
}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc, hdc1, hdcMem ;
PAINTSTRUCT ps ;
// RECT rect ;
BITMAP      bitmap;
static int         cxSource,cySource;
HINSTANCE   hInstance;
static HBITMAP     hBitmap;
//int         x,y;
     
switch (message)
     {
case WM_CREATE:
PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;
hInstance = ((LPCREATESTRUCT) lParam)->hInstance ; hBitmap = LoadBitmap (hInstance, LPCSTR(MAKEINTRESOURCEA(IDB_CHESSBOARD))); GetObject (hBitmap, sizeof (BITMAP), &bitmap) ; cxSource = bitmap.bmWidth ;
cySource = bitmap.bmHeight ; return 0; case  WM_PAINT:
hdc = BeginPaint (childHwnd, &ps) ;
hdcMem = CreateCompatibleDC (hdc) ; SelectObject (hdcMem, hBitmap) ;
    BitBlt (hdc, 0, 0, cxSource, cySource, hdcMem, 0, 0, SRCCOPY) ; DeleteDC (hdcMem) ;
EndPaint (childHwnd, &ps) ; //hdc1 = BeginPaint(hwnd,&ps);
        //EndPaint(hwnd,&ps);   
return 0 ;
          
// DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
// DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
  

//EndPaint (hwnd, &ps) ;
// return 0 ;
          
case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
     }
   return DefWindowProc (hwnd, message, wParam, lParam) ;
}