[MFC] CStatusBar*

CStatusBar* [MFC] - C++ - Programmation

Marsh Posté le 27-05-2003 à 08:46:39    

J'ai un programme (pour PocketPC) dans lequel je cree une status bar (sur le vue), et ca fonctionne.
Mais le probleme survient quand j'affiche une boite de dialog modale. Cette boite s'affiche sur tout l'ecran et recouvre ma status bar.
Est ce qu'il existe une methode qui me permettrai de mettre la status bar en premier plan a partir du OnInitDialog de la boite modale, grace a un pointeur sur la status bar par exemple
 :??:  

Reply

Marsh Posté le 27-05-2003 à 08:46:39   

Reply

Marsh Posté le 27-05-2003 à 08:57:32    

salut ptit homme :hello:
 
T'as regardé sur msdn les fonctions disponibles pour la classe CStatusBar ?

Reply

Marsh Posté le 27-05-2003 à 09:05:59    

CStatusBar c un CWnd donc tu peux essayer de voir du cote ModifyStyleEx et en passant WS_EX_TOPMOST.
 
Mais bon je vois pas pourquoi avoir une statusbar ds une vue (enfin vue ou frame) et de vouloir afficher un Dlg qui la cacherais pas (quelle soit modale ou non la dlg), la Dlg etant une autre fenetre a part entiere.

Reply

Marsh Posté le 27-05-2003 à 09:12:14    

VisualC++ a écrit :


Mais bon je vois pas pourquoi avoir une statusbar ds une vue (enfin vue ou frame) et de vouloir afficher un Dlg qui la cacherais pas (quelle soit modale ou non la dlg), la Dlg etant une autre fenetre a part entiere.


Sur Pocket PC, lorsque je cree une boite de dialog, elle se met automatiquement en plein ecran (meme si elle ne fait que la moitie de la hauteur de l'ecran)[:spamafote] donc elle cache ma status bar


Message édité par polo021 le 27-05-2003 à 09:12:57
Reply

Marsh Posté le 27-05-2003 à 09:19:41    

Euh je comprend pas trop la. Ta dlg fait genre 300x300 tu fais un DoModal et il te met la Dlg en 800x600 (enfin res de ton ecran) ?
Mais il fait koi un gros stretch de la resource ?

Reply

Marsh Posté le 27-05-2003 à 09:33:39    

non, tous mes boutons restent a leur place et il agrandi juste la fenetre (le fond blanc en fait)
 

Reply

Marsh Posté le 27-05-2003 à 09:38:28    

Oula c koi ca  :??:  
 
Ben faudrait voir si y a pas moyen de resize la Dlg en fonction de sa resource (enfin si c possible ca) et le faire.

Reply

Marsh Posté le 27-05-2003 à 09:48:02    

en jouant avec  
this->SetWindowPos(this,0,0,100,200,SWP_SHOWWINDOW);
dans le OnintDialog de la boite de dialog, je pense pouvoir changer la taille de la boite. Et donc rendre visible la status bar de la vue.  :pt1cable:  
 
 
 :jap:  
 
Tu penses qu'il y a moyen de modifier le texte de la StatusBar en passant un CStatusBar* dans les differences classes ou je vais?

Reply

Marsh Posté le 27-05-2003 à 10:02:40    

Ben pour etre "propre" faudrait recuperer la taille de la Dlg (genre voir ds le create mm si tu fais rien jsute stocker la taille) et effectivement faire un joli resize en fonction de ces params.
 
Euh le texte d'une statusbar se modifie via SetPaneText par exemple

Reply

Marsh Posté le 27-05-2003 à 10:04:36    

VisualC++ a écrit :

et il te met la Dlg en 800x600 (enfin res de ton ecran) ?


 
 
je pense pas que les PocketPC en soient déjà là :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-05-2003 à 10:04:36   

Reply

Marsh Posté le 27-05-2003 à 10:06:55    

oui desole :lol: enfin la res max de l ecran koi :)

Reply

Marsh Posté le 27-05-2003 à 10:07:03    

antp a écrit :


 
 
je pense pas que les PocketPC en soient déjà là :D


en effet ce serait plutot du 160*200 a vue d'oeil (! j'ai un mauvais oeil)

Reply

Marsh Posté le 27-05-2003 à 10:10:22    

240*320 en fait


Message édité par polo021 le 27-05-2003 à 10:11:52
Reply

Sujets relatifs:

Leave a Replay

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