begin process at 2012 05 30 07:40:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

2 Questions : icone fenetre & Taille...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

2 Questions : icone fenetre & Taille...

lundi 31 juillet 2006 à 16:15:11 | 2 Questions : icone fenetre & Taille...

clabe

Bonjour,

Je voudrais savoir comment je pourrais tout d'abord changer l'icone dans la barre de titre de ma fenetre...

Ensuite j'aurais aimé savoir comment faire pour empecher l'utilisateur de redimensionner la fenetre ou de la maximizer..

Le tout sachant que je travaille avec Dev C++

Voilà...

Merci d'avance...
Clabe

PS : Voici le début de la source que j'utilise (c'ets le morceau qui me semble important...)
  1. HWND conteneur;
  2.  
  3. /***************** Procédure de notre fenêtre principale *********************/
  4. LRESULT CALLBACK WndProc( HWND hWnd, UINT messg, WPARAM wParam, LPARAM lParam )
  5. {    
  6.     switch(messg)
  7.     {
  8.         case WM_SIZE:
  9.             // Redimensionnement du conteneur quand la taille de la fenêtre change:
  10.             MoveWindow(conteneur,0,0,LOWORD(lParam), HIWORD(lParam),1);
  11.             break;
  12.         
  13.         case WM_CLOSE:
  14.             // Détruire la fenêtre principale:
  15.             DestroyWindow(hWnd);
  16.             break;
  17.  
  18.         case WM_DESTROY:
  19.             // Envoyer le message de sortie du programme:
  20.             PostQuitMessage( 0 );
  21.             break;
  22.     
  23.         default:
  24.             //Retour:
  25.             return( DefWindowProc( hWnd, messg, wParam, lParam ) );
  26.     }
  27.     return 0;
  28. }
  29. /***************************************************************************/
  30.  
  31. /********************* Fonction WinMain ************************************************/
  32. int WINAPI WinMain( HINSTANCE hInst,HINSTANCE hPreInst,LPSTR lpszCmdLine, int nCmdShow )
  33. {
  34.     // Déclarer notre classe de fenêtre et définir ses membres:
  35.     WNDCLASS wc;
  36.     char NomClasse[] = "Conteneur";
  37.     wc.lpszClassName = NomClasse;
  38.     wc.hInstance      = hInst;
  39.     wc.lpfnWndProc     = WndProc;
  40.     wc.hCursor = LoadCursor( 0, IDC_ARROW );
  41.     wc.hIcon     = LoadIcon( 0, IDI_APPLICATION );
  42.     wc.lpszMenuName     = 0;
  43.     wc.hbrBackground = 0;
  44.     wc.style     = 0;
  45.     wc.cbClsExtra     = 0;
  46.     wc.cbWndExtra        = 0;
  47.     // Enregistrer la classe de notre fenêtre:
  48.     if (!RegisterClass(&wc)) return 0;
  49.  
  50.     // Créer notre fenêtre principale:
  51.     HWND hWnd = CreateWindow( NomClasse,"Conteneur Activex",WS_OVERLAPPEDWINDOW,0,0,800,575, 0, 0, hInst,0);
  52.     // Montrer la fenêtre:
  53.     ShowWindow(hWnd, nCmdShow );
  54.     UpdateWindow( hWnd );


lundi 31 juillet 2006 à 16:41:58 | Re : 2 Questions : icone fenetre & Taille...

racpp

Administrateur CodeS-SourceS
Salut,
Pour changer l'icone de la barre de titre, il suffit de mettre l'icone que tu veux en ressource, puis l'affecter au membre hIcon de la structure WNDCLASS:
wc.hIcon            = LoadIcon( hInst, MAKEINTRESOURCE(ID_ICON) );

Pour la fenêtre qu'on ne peut ni redimentionner ni minimiser, il faut lui appliquer le style WS_SYSMENU seul:
HWND hWnd = CreateWindow( NomClasse,"Conteneur Activex", WS_SYSMENU, 0, 0, 800,575, 0, 0, hInst ,0);
lundi 31 juillet 2006 à 16:59:06 | Re : 2 Questions : icone fenetre & Taille...

clabe

Merci...
Pour l'icone j'ai aps encore testé mais déjà pour le maximize bouton, c'ets plus ou moins ce que je cherche...

Le problème c'est que le bouton minimize doit rester et la il reste pas...
En gros il doit y avoir le bouton X (close) et le bouton de minimization (le bouton maximize peut etre là mais doit etre inactif)...

lundi 31 juillet 2006 à 18:03:10 | Re : 2 Questions : icone fenetre & Taille...

racpp

Administrateur CodeS-SourceS
Tu ajoutes le style WS_MINIMIZEBOX :
HWND hWnd = CreateWindow( NomClasse,"Conteneur Activex", WS_SYSMENU | WS_MINIMIZEBOX , 0, 0, 800,575, 0, 0, hInst,0);
lundi 31 juillet 2006 à 18:13:13 | Re : 2 Questions : icone fenetre & Taille...

clabe

Ok merci beaucoup...
Pour le maximize box c'ets nickel...

Maintenant comment je fais pour mettre une icone en ressource ?

Merci d'avance...

lundi 31 juillet 2006 à 19:52:07 | Re : 2 Questions : icone fenetre & Taille...

racpp

Administrateur CodeS-SourceS
Ouvre le Bloc-Notes. Tape ceci dedans:

ID_ICON   ICON  "monicone.ico"

Sauvegarde le fichier en lui donnant l'extension .rc  Par exemple "res.rc".
Ajoute ce fichier à ton projet.

Dans le winmain tu fais:
wc.hIcon  =  LoadIcon( hInst, "ID_ICON" );

Les fichiers "monicone.ico" et "res.rc" doivent figurer dans le même dossier du projet.

Voilà. C'est la méthode la plus simple.


lundi 31 juillet 2006 à 21:39:18 | Re : 2 Questions : icone fenetre & Taille...

trafounet

si tu veux empecher le redimensionnement en interceptant le message, il faut le faire sur WM_SIZING et pas pas WM_SIZE  (sinon ca redimensionne la fenetre apres l'avoir deja redimensionner, et ca clignote beaucoup :'( )
lundi 31 juillet 2006 à 22:58:46 | Re : 2 Questions : icone fenetre & Taille...

racpp

Administrateur CodeS-SourceS
trafounet >> Pour rendre une fenêtre non redimensionnable, il suffit de ne pas lui appliquer le style WS_THICKFRAME.  Le style WS_OVERLAPPEDWINDOW inclut ce style entre autres.

lundi 31 juillet 2006 à 23:02:30 | Re : 2 Questions : icone fenetre & Taille...

trafounet

C'est au cas ou il veuille pouvoir redimensionner sa fenetre jusqu'à un certain point par exemple ;)


Cette discussion est classée dans : fenêtre, hwnd, conteneur, wc, lparam


Répondre à ce message

Sujets en rapport avec ce message

probleme openGl niveau debutant [ par AmK ] salut je debute en openGL et j'ai du mal a creer une fenetre le compilateur me mets 2 erreurs :PS: les erreurs du compilateur(vc++ 6.0)sont plus bas ! Colorier un static : HEeeeeeeelp !!! [ par sprintjeffC ] salut @ tousje me mets a la programmation windows en C/C++ (pas VC++ merci ... quitte à faire du microsoft je préfère VB ;-). Je démarrai pas mal et t pb avec le plein écran de DirectX que je veux enlever [ par Diabolus ] Bonjour à tous !Je souhaiterai créer une fenêtre en mode normal et tout ce que j'arrive à faire c'est du plein écran. J'aimerai enlever le plein écran dev sans MFC [ par c2millet ] Voilà j'essaie de faire un prog sans MFC et je voudrais changer la couleur de text d'un bouton ainsi que ça couleur de fond.Si qqun peu m'aider mercim Problème de barre de status dans une application MDI [ par julien_boss ] Bonjour à tous :en réalité, je ne sais pas si mon problème est du à une barre de status, mais étant donné qu'il est apparu après la création de celle- api window [ par ropars ] Bonjour<br Poblème avec un pointeur... [ par xxDarkSidexx ] Bonsoir,J'essaye tant bien que mal de mettre en place une ListView...Le seul problème est malheureusement cette ligne de code...je n'arrive pas a savo interface en c [ par Med2009 ] salut je suis Mohamed un petit développeur en c et qui désire etre le plus grand développeur dans le monde...


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales