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();
Carbon_14
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 ).
Kyle_Katarn
ouais mais c'est vraiment pas rigoureux comme prog...
youdontcare
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.
wpk
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.
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
Kyle_Katarn
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 ...
HelloWorld
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 ... ?
Kyle_Katarn
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" ?
Kyle_Katarn
merci, je vais voir ça ;-)
HelloWorld
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 ...
Kyle_Katarn
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 ?
deathsharp
oui avec leur framework... mais en C/C++ sans rien de special c des boites de dialog ou des fenetre
antp
non : Delphi et C++Builder utilisent aussi le terme "form" :p
deathsharp
et le terme form c reserver a vb (juste comme ca au passage)
n0mad
Salut,
Il faut utiliser CWnd::ShowWindow(SW_HIDE)
Kyle_Katarn
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 !