[MFC] Forcer une taille de fenêtre

Forcer une taille de fenêtre [MFC] - C++ - Programmation

Marsh Posté le 03-05-2002 à 10:27:53    

Comment forcer une boite de dlg à faire une certaine taille ? Taille qui peut varier selon les besoins. Quel message envoyer ?

 

[jfdsdjhfuetppo]--Message édité par torpe23 le 03-05-2002 à 15:05:04--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 03-05-2002 à 10:27:53   

Reply

Marsh Posté le 03-05-2002 à 14:00:30    

help...  :bounce:

Reply

Marsh Posté le 03-05-2002 à 15:06:10    

re-help  :bounce:

Reply

Marsh Posté le 03-05-2002 à 15:16:24    

Tu dois modifier la structure passée à CWnd::PreCreateWindow


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 03-05-2002 à 15:32:26    

torpe23 a écrit a écrit :

Comment forcer une boite de dlg à faire une certaine taille ? Taille qui peut varier selon les besoins. Quel message envoyer ?  




 
Ou après la création, tu peux faire un SetWindowPos (membre de CWnd)

Reply

Marsh Posté le 03-05-2002 à 15:35:22    

j'ai CreateWindows() mais j'ai rien sur ReCreate. En tout cas, y'a rien dans la mdsn... t'es sur ça existe comme fonction, car c'est vrai que ça m'a l'air pas mal !

Reply

Marsh Posté le 03-05-2002 à 15:36:22    

merci gringo, ça m'a l'air pas mal ça !

Reply

Marsh Posté le 03-05-2002 à 15:39:52    

torpe23 a écrit a écrit :

j'ai CreateWindows() mais j'ai rien sur ReCreate. En tout cas, y'a rien dans la mdsn... t'es sur ça existe comme fonction, car c'est vrai que ça m'a l'air pas mal !  




 
La méthode c'est CWnd:: PreCreateWindow  (quelle plaie, ces smileys débiles)
 
La doc MSDN dit à ce propos :
To change the default window attributes used by a framework application created with AppWizard, override the window?s PreCreateWindow virtual member function. PreCreateWindow allows an application to access the creation process normally managed internally by the CDocTemplate class. The framework calls PreCreateWindow just prior to creating the window. By modifying the CREATESTRUCT parameter to PreCreateWindow, your application can change the attributes used to create the window.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 03-05-2002 à 15:39:54    

torpe23 a écrit a écrit :

merci gringo, ça m'a l'air pas mal ça !  




 
et, pour info, Tetra... il parlait de
CWnd: PreCreateWindow
Mais sur le forum, si mets pas d'espace entre le : et le P, ça fait un :P .étonnant non ? :D

Reply

Marsh Posté le 03-05-2002 à 15:51:45    

Ouais , mais d'après ce que je comprend, PreCreateWindow permet de définir la taille de la fenêtre avant de la construire. Moi, je voudrais pourvoir la changer en "temps réel".
D'ailleurs, j'essai donc d'utiliser SetWindowPos, mais il me faut un pointeur sur CWnd et je me retrouve comme un con car je sais pas comment faire pour en avoir un... :heink:

Reply

Marsh Posté le 03-05-2002 à 15:51:45   

Reply

Marsh Posté le 03-05-2002 à 15:59:36    

torpe23 a écrit a écrit :

Ouais , mais d'après ce que je comprend, PreCreateWindow permet de définir la taille de la fenêtre avant de la construire. Moi, je voudrais pourvoir la changer en "temps réel".D'ailleurs, j'essai donc d'utiliser SetWindowPos, mais il me faut un pointeur sur CWnd et je me retrouve comme un con car je sais pas comment faire pour en avoir un... :heink:  




 
Ca aurait été bien de le préciser dès le début  :sarcastic:  
 
Sinon, pour récuperer le pointeur à la CWnd principale, tu as la fonction CWnd* AfxGetMainWnd();


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 03-05-2002 à 16:03:10    

Tetragrammaton IHVH a écrit a écrit :

 
 
Ca aurait été bien de le préciser dès le début  :sarcastic:  
 
Sinon, pour récuperer le pointeur à la CWnd principale, tu as la fonction CWnd* AfxGetMainWnd();  




 
Toutes ces fonctions Afx, je n'les connaissais pas au début. Je me suis souvent pas mal fait chier pour rien ! Elle sont bien pratiques...

Reply

Marsh Posté le 03-05-2002 à 16:06:15    

Je suis désolé Tetra, c'est vrai que j'avais omis de le dire. Maintenant, c'est pas bien grave, vu que je connais deux façons de le faire. Et le but, c'est d'apprendre avant tout !
 
Et au fait, si je met un pointeur NULL, ça marche ?!

Reply

Marsh Posté le 03-05-2002 à 16:15:31    

torpe23 a écrit a écrit :

Je suis désolé Tetra, c'est vrai que j'avais omis de le dire. Maintenant, c'est pas bien grave, vu que je connais deux façons de le faire. Et le but, c'est d'apprendre avant tout !
 
Et au fait, si je met un pointeur NULL, ça marche ?!  




 
Ouais, j'pense, mais pourquoi mettre un pointeur NULL, vu que tetra t'as filé une fonction tte bête qui te donne ce fameux pointeur de fenêtre principale !?

Reply

Marsh Posté le 03-05-2002 à 16:25:33    

torpe23 a écrit a écrit :

 
Et au fait, si je met un pointeur NULL, ça marche ?!  




 
 :eek2:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 03-05-2002 à 16:47:59    

j'ai mis la fonction que Tetra m'a donné pour que le code soit plus propre mais je voulais signaler qu'avec NULL, ça marchait !
 
En tout cas, merci à vous deux ! Et bon WE !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed