Torel Temat założony przez niniejszego użytkownika |
error: expected unqualified-id before "case" » 2011-03-31 00:09:45 Witam. Mam pewien problem z ktorym nie wiem jak sobie poradzic, problem dotyczy błędu:
error: expected unqualified-id before "case"
kod dotyczy aplikacji ktora otwiera okno a w oknie powinno sie wyswietlac tlo
case WM_PAINT: { HDC hdc; PAINTSTRUCT ps; hdc = BeginPaint( hwnd, & ps ); HDC Okno; Okno = GetDC( hwnd ); HBITMAP bitmap =( HBITMAP ) LoadImage( 0, "Bloody War.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE ); HDC pomoc = CreateCompatibleDC( Okno ); SelectObject( pomoc, bitmap ) BitBlt( Okno, 10, 10, 300, 100, pomoc, 0, 0, SRCCOPY ); DeleteDC( bitmap ); DeleteObject( bitmap ); ReleaseDC( hwnd, Okno ); EndPaint( hwnd, & ps ); }
tak wyglada kod do obrazka
Zaznacze tylko ze dopiero zaczynam z C++ :) |
|
yoogi |
» 2011-03-31 00:15:37 spróbuj zmienić switch'a na if'a a wygląda to mniej więcej tak: osobiście sam tak piszę, miałem kiedyś problem z przypisaniem wartości zmiennym, a teraz wszystko działa jak trzeba. |
|
malan |
» 2011-03-31 00:42:37 Błąd chyba nie dotyczy tego fragmentu kod. Pokaż cały switch . |
|
Torel Temat założony przez niniejszego użytkownika |
» 2011-03-31 11:21:24 Cały kod:
#include <windows.h>
LRESULT CALLBACK WindowProcedure( HWND, UINT, WPARAM, LPARAM );
char szClassName[] = "Bloody War";
int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow )
{ HWND hwnd; MSG messages; WNDCLASSEX wincl; wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; wincl.style = CS_DBLCLKS; wincl.cbSize = sizeof( WNDCLASSEX ); wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION ); wincl.hCursor = LoadCursor( NULL, IDC_ARROW ); wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND; if( !RegisterClassEx( & wincl ) ) return 0; hwnd = CreateWindowEx( 0, szClassName, "Bloody War", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1024, 768, HWND_DESKTOP, NULL, hThisInstance, NULL ); ShowWindow( hwnd, nCmdShow ); while( GetMessage( & messages, NULL, 0, 0 ) ) { TranslateMessage( & messages ); DispatchMessage( & messages ); } return messages.wParam; }
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, message, wParam, lParam ); } return 0; } case WM_PAINT: { HDC hdc; PAINTSTRUCT ps; hdc = BeginPaint( hwnd, & ps ); HDC Okno; Okno = GetDC( hwnd ); HBITMAP bitmap =( HBITMAP ) LoadImage( 0, "Bloody War.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE ); HDC pomoc = CreateCompatibleDC( Okno ); SelectObject( pomoc, bitmap ) BitBlt( Okno, 10, 10, 300, 100, pomoc, 0, 0, SRCCOPY ); DeleteDC( bitmap ); DeleteObject( bitmap ); ReleaseDC( hwnd, Okno ); EndPaint( hwnd, & ps ); }
|
|
DejaVu |
» 2011-03-31 11:32:59 case WM_PAINT jest poza switchem i poza funkcją. |
|
Torel Temat założony przez niniejszego użytkownika |
» 2011-03-31 15:52:33 A pomógł by mi ktoś poprawić ten kod ? ponieważ zajmuje się nim już równe 10 godz i mi mózg siada, bardzo bym o to prosił |
|
pekfos |
» 2011-03-31 15:53:53 wstaw case na miejsce i tyle |
|
Dragonit |
» 2011-03-31 16:01:25 #include <windows.h>
LRESULT CALLBACK WindowProcedure( HWND, UINT, WPARAM, LPARAM );
char szClassName[] = "Bloody War";
int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow )
{ HWND hwnd; MSG messages; WNDCLASSEX wincl; wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; wincl.style = CS_DBLCLKS; wincl.cbSize = sizeof( WNDCLASSEX ); wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION ); wincl.hCursor = LoadCursor( NULL, IDC_ARROW ); wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND; if( !RegisterClassEx( & wincl ) ) return 0; hwnd = CreateWindowEx( 0, szClassName, "Bloody War", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1024, 768, HWND_DESKTOP, NULL, hThisInstance, NULL ); ShowWindow( hwnd, nCmdShow ); while( GetMessage( & messages, NULL, 0, 0 ) ) { TranslateMessage( & messages ); DispatchMessage( & messages ); } return messages.wParam; }
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, message, wParam, lParam ); case WM_PAINT: { HDC hdc; PAINTSTRUCT ps; hdc = BeginPaint( hwnd, & ps ); HDC Okno; Okno = GetDC( hwnd ); HBITMAP bitmap =( HBITMAP ) LoadImage( 0, "Bloody War.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE ); HDC pomoc = CreateCompatibleDC( Okno ); SelectObject( pomoc, bitmap ); BitBlt( Okno, 10, 10, 300, 100, pomoc, 0, 0, SRCCOPY ); DeleteObject( bitmap ); ReleaseDC( hwnd, Okno ); EndPaint( hwnd, & ps ); } } return 0; }
|
|
« 1 » 2 |