well in most cases people use an event loop. It goes someting like this:
main ( )
{
...code...
while ( 1 )
{
bool exit = processMessages ( );
drawObjectsOnScreen();
if ( exit ) break;
}
...code...
}
bool processMessages ( )
{
if ( event occurred )
{
switch ( event )
{
case KEYDOWN: do something...
case KEYUP: do something....
case MOUSEBUTTONCLICK: do something....
}
}
}