Почему вот ето ничего не работает ?
| Код | #include "windows.h" #include "windowsx.h"
#define XSIZE 400 #define YSIZE 300
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); BOOL OnCreate(HWND, CREATESTRUCT FAR*); void OnPaint(HWND); void onDestroy(HWND);
//Car BITMAP "Car.bmp"
HINSTANCE hInstance; HBITMAP hBitmap, hOldBitmap; HDC hdcMem; BITMAP bm; int WINAPI WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int) { char szClassName[] = "MainWindow"; char szTitle[] = "Create by Terrian"; MSG msg; WNDCLASS T; ZeroMemory(&T, sizeof(T));
T.lpfnWndProc = WndProc; T.hInstance = hInst; T.hIcon = LoadIcon(NULL,IDI_APPLICATION); T.hCursor = LoadCursor(NULL,IDC_ARROW); T.hbrBackground = GetStockBrush(LTGRAY_BRUSH); T.lpszClassName = szClassName; RegisterClass(&T);
HWND hwnd = CreateWindow(szClassName,szTitle,WS_OVERLAPPEDWINDOW,500,300,XSIZE,YSIZE,HWND_DESKTOP,NULL,hInst,NULL); ShowWindow(hwnd,SW_SHOWNORMAL);
while (GetMessage(&msg,NULL,0,0)) DispatchMessage(&msg); return 0;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { HANDLE_MSG(hWnd,WM_DESTROY,onDestroy); HANDLE_MSG(hWnd,WM_PAINT,OnPaint); HANDLE_MSG(hWnd,WM_CREATE,OnCreate); default:return(DefWindowProc(hWnd,msg,wParam,lParam)); } }
void onDestroy(HWND) { DeleteBitmap(hBitmap); SelectBitmap(hdcMem,hOldBitmap); DeleteDC(hdcMem); PostQuitMessage(0); }
BOOL OnCreate(HWND hWnd, LPCREATESTRUCT) { hBitmap = (HBITMAP)LoadImage(hInstance,"Car.bmp",IMAGE_BITMAP,0,0,0); GetObject(hBitmap,sizeof(hBitmap),&bm); HDC hdc = GetDC(hWnd); hdcMem = CreateCompatibleDC(hdc); hOldBitmap = SelectBitmap(hdcMem,hBitmap); ReleaseDC(hWnd,hdc); return TRUE; }
void OnPaint (HWND hWnd) { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd,&ps); BitBlt(hdc,25,20,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY); EndPaint(hWnd,&ps); }
|
Когда я раскаменчу строку Car BITMAP "Car.bmp", то видает след. ошибки:
| Код | --------------------Configuration: RastrBMP - Win32 Debug-------------------- Compiling... RastrBMP.cpp D:\Programmer\!!! Projects !!!\Visual C++\RastrBMP\RastrBMP.cpp(12) : error C2146: syntax error : missing ';' before identifier 'BITMAP' D:\Programmer\!!! Projects !!!\Visual C++\RastrBMP\RastrBMP.cpp(12) : error C2501: 'Car' : missing storage-class or type specifiers D:\Programmer\!!! Projects !!!\Visual C++\RastrBMP\RastrBMP.cpp(12) : fatal error C1004: unexpected end of file found Error executing cl.exe.
RastrBMP.exe - 3 error(s), 0 warning(s)
|
З.Ы. В ресурсах я ничего не добавлял.. может в етом моя проблема ?.. Если да, то подскажите как правильно ето сделать ) |