Je debute

cs_Arnauti Messages postés 392 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 26 septembre 2009 - 9 févr. 2005 à 08:23
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 9 févr. 2005 à 13:10
Bonjoçur, je débute en C et j'aimerais savoir comment on créer une fenetre vierge.



SVP dites moi exactement le code qu'il faut mettre car je suis nul !



Merci d'avance.

Sans maitrise la puissance n'est rien

3 réponses

yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
9 févr. 2005 à 08:37
Voila un petit code qui cree j'uste une fenetre et rien d'autre
ATTN code créé sous borland
//---------------------------------------------------------------------------


#include
#include


HWND g_hwndWin ; //Handle de la fenetre
TCHAR * g_szTitle = TEXT ( "PDMAD" ) ,
//Nom de la fenetre principale
* g_szClassName = TEXT ( "WindowsClass" ) ;
//Nom de la class de la fenetre principale


//---------------------------------------------------------------------------
// Déclaration des fonctions
LRESULT CALLBACK WndProc ( HWND f_hwnd , UINT f_msg , WPARAM f_wParam ,
LPARAM f_lParam ) ;




/***********************************************************************


FONCTION:
WinMain


BUT:
Fonction pricinpal appeler en premier The WinMain function of the application. It is called by the system as
the initial entry point for this Windows CE-based application.


***********************************************************************/
int WINAPI WinMain( HINSTANCE hInstance ,
HINSTANCE hPrevInstance ,
LPSTR lpCmdLine ,
int CmdShow )
{
g_hwndWin = hInstance ;
//Declaration des variables locales
MSG Msg ; //Contiendra les messages
//Pour stocker la structure de la class
WNDCLASSEX WndClass ;





//Creation de la class
WndClass.style = CS_DBLCLKS ; //Style de la class
WndClass.lpfnWndProc = WndProc ; //Adresse de la procedure qui va recevoir les messages
WndClass.cbSize = sizeof( WNDCLASSEX ) ;
WndClass.cbClsExtra = NULL ; //Optionnel
WndClass.cbWndExtra = NULL ; //Optionnel
WndClass.hIcon = LoadIcon ( NULL , IDI_APPLICATION ) ;
WndClass.hIconSm = LoadIcon ( NULL , IDI_APPLICATION ) ;
WndClass.hCursor = LoadCursor ( NULL , IDC_ARROW ) ;
WndClass.hInstance = g_hwndWin ;
WndClass.hbrBackground = ( HBRUSH ) GetStockObject ( LTGRAY_BRUSH ) ;
WndClass.lpszMenuName = NULL ;
WndClass.lpszClassName = g_szClassName ; //Nom de la classe


//Enregistrement de la class
if ( !RegisterClassEx ( &WndClass ) )
MessageBox(NULL, "Erreur lors de l'enregistrement de la classe.", "Erreur", MB_OK);



//Creation de la fenetre principale et des boutons
//Creation de la fenetre principale
g_hwndWin = CreateWindowEx ( NULL , g_szClassName , g_szTitle , WS_OVERLAPPEDWINDOW | WS_TABSTOP , 0, 0 ,
70 , 70 , HWND_DESKTOP , NULL , hInstance , NULL ) ;



//Affichage de la fenetre
ShowWindow ( g_hwndWin , SW_SHOW ) ;
UpdateWindow ( g_hwndWin ) ;





while ( GetMessage ( &Msg , NULL , 0 , 0 ) )
{
if ( ! IsDialogMessage ( g_hwndWin , &Msg ) )
{
TranslateMessage( &Msg ) ;
DispatchMessage( &Msg ) ;
}


}


return Msg.wParam ;
}
//---------------------------------------------------------------------------












/***********************************************************************


FONCTION:
WndProc


BUT:
Fonction qui va recevoire les messages envoyes a la fenetre.


***********************************************************************/
LRESULT CALLBACK WndProc ( HWND f_hwnd , UINT f_Msg , WPARAM f_wParam ,
LPARAM f_lParam )
{
//Declaration des variables
char * f_AFR = NULL , f_MsgBuffer [ 256 ]; unsigned int f_SizeAFR ;


switch ( f_Msg )
{
case WM_DESTROY :
PostQuitMessage ( 0 ) ;
break ;


case WM_CLOSE :
DestroyWindow ( f_hwnd ) ;
break ;


case WM_COMMAND :
break ;


default :
return DefWindowProc ( f_hwnd , f_Msg , f_wParam , f_lParam ) ;
}
return DefWindowProc ( f_hwnd , f_Msg , f_wParam , f_lParam ) ;
}
//--------------------------------------------------------------------------

Bon courrage
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
9 févr. 2005 à 08:53
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
9 févr. 2005 à 13:10
Où peut être devrais tu aller ici, c'est un tuto qui apprend pas mal de
truc sur les API windows, dont essentiellement les fenêtres :
http://bob.developpez.com/tutapiwin/

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
Rejoignez-nous