Krzychu97 Temat założony przez niniejszego użytkownika |
» 2016-12-26 20:16:53 Warunki poprawione. Co zwraca u mnie? Szczerze mówiąc nie mam pojęcia, bo program zachowuje się tak samo z nią jak i bez niej. Po naciśnięciu Start wyskakuje mi okno z tytułem komunikat i bez żadnego tekstu w środku. Jest jeszcze przycisk OK na okienku. Oczywiście przed naciśnięciem Startu wpisuje coś w pole tekstowe. |
|
j23 |
» 2016-12-26 20:32:45 To trzeba napisać kod, który wypisze Ci wartość, albo po prostu użyć debuggera. int n = GetWindowText( hText, Bufor, 256 );
char msg_text[ 256 ];
if( n == 0 ) sprintf( msg_text, "GetWindowText failed -> %i", GetLastError() ); else sprintf( msg_text, "GetWindowText() = %i \n\n %s", n, Bufor );
MessageBox( hwnd, msg_text, "Komunikat", MB_OK ); |
|
Krzychu97 Temat założony przez niniejszego użytkownika |
» 2016-12-26 20:39:53 A więc wkleiłem Twój kod, dodałem potrzebną bibliotekę i otrzymałem komunikat z napisem: "GetWindowsText failed -> 1400". Do pola tekstowego wpisałem "qwe" jeśli to ma jakieś znaczenie. |
|
j23 |
» 2016-12-26 20:50:21 1400 to ERROR_INVALID_WINDOW_HANDLE, czyli coś z uchwytem nie tak. Mamy winowajce: HWND hText; ...
HWND hText = CreateWindowEx(...);
W WndProc odwołujesz się do globalnego hText, ale uchwyt przypisujesz lokalnej zmiennej. Ot i cały błąd. |
|
Krzychu97 Temat założony przez niniejszego użytkownika |
» 2016-12-26 20:54:26 Okej. To teraz jeszcze proszę powiedz co muszę zmienić? Wyrzucić globalny hText? |
|
j23 |
» 2016-12-26 20:59:04 Wywal lokalny, a wartość przypisz globalnemu uchwytowi... ktoś tu nie umie w zmienne, a zabiera się za WinAPI. |
|
Krzychu97 Temat założony przez niniejszego użytkownika |
» 2016-12-26 21:04:33 OK. Zmieniłem fragment na taki: hText = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 150, 20, hwnd, NULL, hInstance, NULL );
I wszystko działa. Wielkie dzięki za pomoc. |
|
1 « 2 » |