SDL i pole formularza
Ostatnio zmodyfikowano 2010-03-11 10:29
Szadziu Temat założony przez niniejszego użytkownika |
SDL i pole formularza » 2010-03-10 17:46:02 Mam pytanie, jak w bibliotece SDL stworzyć formularz lub listę. Chodzi mi o to żeby wyglądało to mniej więcej tak
Imię:[miejsce do wpisania] Płeć:[Rozwijana lista do wybrania "M"/"K"
|
|
Thud |
» 2010-03-10 19:51:57 |
|
Szadziu Temat założony przez niniejszego użytkownika |
» 2010-03-10 21:27:46 #include <SDL.h>
SDL_Surface * ekran = NULL; SDL_Surface * tlo = NULL; SDL_Surface * koniec = NULL; SDL_Surface * now = NULL; SDL_Surface * load = NULL; SDL_Surface * autorzy = NULL; SDL_Color kolor; SDL_Rect dprst[ 4 ]; SDL_Rect przycisk; bool wyjscie = false; SDL_Event zdarzenie; int myszkaX, myszkaY;
int main( int argc, char * args[] ) { dprst[ 0 ].x = 350; dprst[ 0 ].y = 450; dprst[ 1 ].x = 350; dprst[ 1 ].y = 400; dprst[ 2 ].x = 350; dprst[ 2 ].y = 350; dprst[ 3 ].x = 350; dprst[ 3 ].y = 300; przycisk.w = 100; przycisk.h = 36; kolor.r = 0; kolor.g = 0; kolor.b = 0; SDL_Init( SDL_INIT_EVERYTHING ); ekran = SDL_SetVideoMode( 800, 600, 32, SDL_SWSURFACE | SDL_FULLSCREEN ); tlo = SDL_LoadBMP( "tlo.bmp" ); koniec = SDL_LoadBMP( "koniec.bmp" ); load = SDL_LoadBMP( "load.bmp" ); now = SDL_LoadBMP( "now.bmp" ); autorzy = SDL_LoadBMP( "autorzy.bmp" ); while( !wyjscie ) { SDL_BlitSurface( tlo, NULL, ekran, NULL ); SDL_BlitSurface( now, NULL, ekran, & dprst[ 3 ] ); SDL_BlitSurface( load, NULL, ekran, & dprst[ 2 ] ); SDL_BlitSurface( autorzy, NULL, ekran, & dprst[ 1 ] ); SDL_BlitSurface( koniec, NULL, ekran, & dprst[ 0 ] ); SDL_Flip( ekran ); while( SDL_PollEvent( & zdarzenie ) ) { if( zdarzenie.type == SDL_MOUSEMOTION ) { myszkaX = zdarzenie.motion.x; myszkaY = zdarzenie.motion.y; } if( zdarzenie.type == SDL_MOUSEBUTTONDOWN ) { if( zdarzenie.button.button == SDL_BUTTON_LEFT && ( myszkaX >= dprst[ 0 ].x && myszkaX <= dprst[ 0 ].x + przycisk.w ) &&( myszkaY >= dprst[ 0 ].y && myszkaY <= dprst[ 0 ].y + przycisk.h ) ) { wyjscie = true; } } if( zdarzenie.key.keysym.sym == SDLK_ESCAPE ) wyjscie = true; } } SDL_Quit(); SDL_FreeSurface( tlo ); SDL_FreeSurface( now ); SDL_FreeSurface( ekran ); SDL_FreeSurface( load ); SDL_FreeSurface( autorzy ); SDL_FreeSurface( koniec ); return 0; }
Mam problem z tym kodem, wszystko działa bardzo dobrze, jednak gdy naciskam na guzik exit, program się wyłącza tak jak powinien, jednak po chwili pojawia się okienko: "Program przestał działać". Przez co muszę go wyłączać w menadżerze urządzeń Gdzie jest błąd? |
|
malan |
» 2010-03-10 23:09:24 SDL_FreeSurface(tlo); SDL_FreeSurface(now); SDL_FreeSurface(ekran); SDL_FreeSurface(load); SDL_FreeSurface(autorzy); SDL_FreeSurface(koniec); SDL_Quit(); Może tak? |
|
Szadziu Temat założony przez niniejszego użytkownika |
» 2010-03-11 10:29:51 Fakt... dzięki;p |
|
« 1 » |