首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

windows编程 建立了IDM_BITMAP仍是报IDM_BITMAP: undeclared identifier

2013-09-27 
windows编程 建立了IDM_BITMAP还是报IDM_BITMAP: undeclared identifier如上我建立了IDM_BITMAP但是还是报

windows编程 建立了IDM_BITMAP还是报IDM_BITMAP: undeclared identifier
windows编程 建立了IDM_BITMAP仍是报IDM_BITMAP: undeclared identifier
如上我建立了IDM_BITMAP但是还是报错,望大神指导
#include <windows.h>
 
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static TCHAR szAppName[] = TEXT ("HelloWin") ;
     HWND         hwnd ;
     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,                  
                          TEXT ("The Hello Program"), 


                          WS_OVERLAPPEDWINDOW,       
                          CW_USEDEFAULT,              
                          CW_USEDEFAULT,             
                          CW_USEDEFAULT,              
                          CW_USEDEFAULT,              
                          NULL,                       
                          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)
{
 static HBITMAP hBitmap;
 static int cxClient,cyClient,cxSource,cySource;
 BITMAP bitmap;
 HDC    hdc,hdcMem;
 HINSTANCE hInstance;
 PAINTSTRUCT ps ;
     RECT        rect ;
     int x,y,mx,my;
     switch (message)
     {
     case WM_CREATE:
          hInstance=((LPCREATESTRUCT)lParam)->hInstance;
  hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDM_BITMAP));
  GetObject(hBitmap,sizeof(BITMAP),&bitmap);
  cxSource=bitmap.bmWidth;
  cySource=(bitmap.bmHeight)/2;
          return 0 ;

 case WM_SIZE:
 cxClient=LOWORD(lParam);
 cyClient=HIWORD(lParam);
 return 0;
          
     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;
          
          hdcMem=CreateCompatibleDC(hdc);
  SelectObject(hdcMem,hBitmap);
          
  for (y=100;y<cyClient-100;y+=cySource)
  {
for (x=100;x<cxClient-100;x+=cxSource)
{
BitBlt(hdc ,x,y, cxSource,cySource,hdcMem,0,0,SRCCOPY);
}
  }
          
  DeleteDC(hdcMem);
          EndPaint (hwnd, &ps) ;
          return 0 ;
          
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
} windows编程 bitmap


[解决办法]
少包含了头文件吧,看看 IDM_BITMAP 那里定义的,把对应的文件包含进来。

热点排行