nieprawidłowe działanie pętli for
Ostatnio zmodyfikowano 2013-11-11 11:51
oval Temat założony przez niniejszego użytkownika |
nieprawidłowe działanie pętli for » 2013-11-11 11:10:42 Witam, Uczę się tworzenia GUI i chciałem zrobić przycisk, który wprowadzi okno w ruch i przesunie je po ekranie. Stworzyłem więc taki kod: case WM_COMMAND: if(( HWND ) lParam == g_hPrzycisk ) MessageBox( hwnd, "Nacisnales przycisk!", "Ha!", MB_ICONINFORMATION );
if(( HWND ) lParam == g_hPrzyciska ) { int i = 0; for( int i = 0; i = 300; i++ ) { MoveWindow( hwnd, i, i, 400, 400, TRUE ); std::cout << i << endl; MessageBox( hwnd, "nr " + i, "Ha!", MB_ICONINFORMATION ); } }
break; Jestem dopiero na początku kursu, więc wybaczcie, że nie korzystam z id kontrolek. Błąd pojawia się w pętli for: std::cout > pokazuje od samego początku 300, zamiast 0,1,2 itd... w messageBox-ie zamiast nr + i, nic się nie pojawia(pusty msgbox). Okno przemieszcza się od razu na koordynaty o x-y: 300-300. Zincludowany windows.h oraz iostream. Korzystam z C::B. Co robię źle ? |
|
kubawal |
» 2013-11-11 11:13:44 |
|
Monika90 |
» 2013-11-11 11:23:14 @oval "nr " + i Wartością tego wyrażenia jest wskaźnik do znaku o indeksie i w łańcuch "nr ", jeżeli i == 300 to jest to wyjście poza zakres tablicy, bo łańcuch "nr " ma tylko 4 znaki. |
|
oval Temat założony przez niniejszego użytkownika |
» 2013-11-11 11:49:12 @kubawal: z == nie działa wcale. Zmieniłem na <= i śmiga pięknie :) @Monika90: Jak więc wypisać napis "nr " i do niego dopisać zmienną typu int? |
|
Monika90 |
» 2013-11-11 11:51:55 Jak więc wypisać napis "nr " i do niego dopisać zmienną typu int? |
Uzyj std::sprintf |
|
« 1 » |