Mateusz124 Temat założony przez niniejszego użytkownika |
[C++,WinApi] Problem z reagowaniem na naciśnięcie przycisków. » 2010-09-05 11:22:15 Witam,
Od niedawna uczę się WinApi i mam pierwszy problem. W drugiej lekcji Win Api na tej stronie jest napisane jak odczytywać naciśnięcia przycisków. Kawałek kodu odpowiedzialny za to to:
case WM_COMMAND: if(( HWND ) lParam == g_hPrzycisk ) MessageBox( hwnd, "Nacisnąłeś przycisk!", "Ha!", MB_ICONINFORMATION );
break;
Ae kiedy kompiluję program kompilator wyświetla mi błąd:
"IParam undeclared(first use this function)".
W lekcji 2 pod tym kodem napisane jest Po pierwsze, jeśli mamy porównywać wartość lParam z uchwytem okna (czyli kontrolki), to należy lParam przekonwertować do HWND, inaczej kompilator się zdenerwuje. |
Niestety nie wiem jak przekonwertować Iparam do HWND.
Bardzo proszę o pomoc. |
|
kamillo121 |
» 2010-09-05 11:26:55 A ten kawałek kodu, który nam podałeś oczywiście znajduje się w ciele funkcji LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_CLOSE: DestroyWindow( hwnd ); break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, msg, wParam, lParam ); } return 0; }
? błąd mówi że nie ma zadeklarowanego IParam |
|
Mateusz124 Temat założony przez niniejszego użytkownika |
» 2010-09-05 11:29:20 Tak,
ten fragment kodu znajduje się w ciele funkcji sparwadzącej komunikaty, tej co podałeś. Wiem co oznacza ten bład nie wiemtylko jak przekonwertować IParem do HWND. |
|
kamillo121 |
» 2010-09-05 11:33:10 Tak jak jest podane w przykładzie case WM_COMMAND: if(( HWND ) lParam == g_hPrzycisk ) MessageBox( hwnd, "Nacisnąłeś przycisk!", "Ha!", MB_ICONINFORMATION );
break;
Ale powracając do błędu, zauważyłem, że błędzie pisze IParam, zerknij czy gdzieś nie napisałeś IParam zamiast lParam Ae kiedy kompiluję program kompilator wyświetla mi błąd: "IParam undeclared(first use this function)". |
|
lenrokskate |
» 2010-09-05 11:51:35 czasami w niektórych przykładach zamiast lParam może być lPar, przyjrzyj się dobrze i wstaw cały kod |
|
DejaVu |
» 2010-09-05 14:07:18 To lest małe L, a nie duże i :) Błąd mówi tyle: zmienna niezadeklarowana (a nie jest zadeklarowana, bo wpisałeś inną nazwę zmiennej niż w kursie). |
|
pekfos |
» 2010-09-05 14:12:21 niech po prostu skopiuje nazwę z listy argumentów. |
|
Mateusz124 Temat założony przez niniejszego użytkownika |
» 2010-09-05 14:18:19 Dzięki lenrokskate, to prawda w innych miejscach zamiast lParam było lPar. Proszę o zamknięcie tematu. |
|
« 1 » |