[VC++] rendre une page invisible : tout bête mais j'y arrive pas !

rendre une page invisible : tout bête mais j'y arrive pas ! [VC++] - Programmation

Marsh Posté le 08-12-2001 à 16:00:06    

Sous VC++6.0 + MFC dialog based app.
 
j'arrive pas à ce que mon projet sous "invisible". Même en décochant toutes les cases "visible", la form est déssinée !
 
aidez moi svp ...
 
Kyle

Reply

Marsh Posté le 08-12-2001 à 16:00:06   

Reply

Marsh Posté le 08-12-2001 à 16:14:51    

Salut,
 
Il faut utiliser CWnd::ShowWindow(SW_HIDE)


---------------
Pipiru piru piru pipiru pi
Reply

Marsh Posté le 08-12-2001 à 16:22:48    

et le terme form c reserver a vb (juste comme ca au passage)


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 08-12-2001 à 17:12:41    

non : Delphi et C++Builder utilisent aussi le terme "form" :p

Reply

Marsh Posté le 08-12-2001 à 17:22:15    

oui avec leur framework... mais en C/C++ sans rien de special c des boites de dialog ou des fenetre


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 08-12-2001 à 18:52:11    

CWnd::ShowWindow(SW_HIDE) ne marche pas lors de l'init dialog.
 
Quand à mettre un timer pour le lancer qq ms plus tard.... c'est lourd....
 
y'a pas un moyen simple ?

Reply

Marsh Posté le 08-12-2001 à 19:10:05    

c'est du C mais p'tet que ca t'aideras:
http://www.winprog.org/tutorial/modeless_dialogs.html
c'est une fenetre toute simple qui controle si une dialogue est visible ou pas
mais c'est bizarre ... il semble que ce soit bien ShowWindow(g_hToolbar, SW_HIDE) qu'il faille utiliser ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-12-2001 à 20:33:08    

merci, je vais voir ça ;-)

Reply

Marsh Posté le 08-12-2001 à 20:35:24    

ok....mais c'est pareil, ça marche pas pendant le InitDialog....
 
z'avez pas une idée ? une dialog peut pas être invisible "par défaut" ?

Reply

Marsh Posté le 08-12-2001 à 20:48:42    

tu veux la créer en la gardant cachée, c'est ca ?
j'y pense, pendant le InitDialog, c'est quoi ?
c'est pendant sa création ? = elle est pas encore créée donc elle peut pas être invisible ... ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-12-2001 à 20:48:42   

Reply

Marsh Posté le 08-12-2001 à 23:39:41    

voilà, mon application se sert des MFC, donc je dois passer par ça mais le problème c'est que lors de la création j'arrive pas à avoir une dialog directment invisible ...

Reply

Marsh Posté le 08-12-2001 à 23:52:08    

Et justement c'est pas la le pblm ?
=> tu veux le rendre invisible pendant sa creation = pendant qu'il n'existe pas !
essai de gerer l'evenement OnActivate ou un truc comme ca plutot ...
t'as qu'a tester avec OnPaint pour voire deja si ca marche
si ca marche (il reste caché), alors on sera fixé.
sinon c'est vrai que c'est bizarre qu'il soit visible malgré avoir decoché visible


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 09-12-2001 à 00:11:42    

Ta boite de dlg, c'est une boite modale (cree par DoModal()) ? Si oui, y'a pas moyen de la rendre invisible, faut en creer une modale.  
 
La fonction recherche de ce forum aurait pu te donner la reponse
http://forum.hardware.fr/forum2.ph [...] &owntopic=

Reply

Marsh Posté le 09-12-2001 à 02:35:58    

un pote qui fait pas mal de gui a eu le même problème. il a regardé comment faisaient les autres applics : déplacement de la fenêtre loin, comme (-10000, -10000).
 
pas beau, mais ça marche.

Reply

Marsh Posté le 09-12-2001 à 10:10:28    

ouais mais c'est vraiment pas rigoureux comme prog...

Reply

Marsh Posté le 10-12-2001 à 16:23:03    

En C basique (pas ++), si on fait
int WINAPI WinMain()
{
    MSG msg;
 
    if (InitApplication(hInstance) == 0) return FALSE;
 
    /* Perform initializations that apply to a specific instance  */
    if (InitInstance(hInstance, nCmdShow) == FALSE) return FALSE;
 
    ShowWindow(hWnd, SW_HIDE);   // Cache the window
 
la feuille (form), on la voit pas. Faut prévoir un évènement pour la visualiser (si besoin d'afficher, pas obligatoire).
 
Pas sûr ça marche en C++ (ai commencé bouquin hier soir => pas encore opérationnel :D ).

Reply

Marsh Posté le 10-12-2001 à 16:33:50    

j'avais deja posté une question comme ca sur ce meme forum ..
 
il faut creer ta fenetre en modeless et dans le oninitinstance .. mettre AfxRun();

Reply

Marsh Posté le 10-12-2001 à 16:36:25    

voilà 2 trucs qui pourront etre utile :
 
http://forum.hardware.fr/forum1.ph [...] aterange=2

Reply

Marsh Posté le 10-12-2001 à 19:00:00    

merci

Reply

Sujets relatifs:

Leave a Replay

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