Focus Visual C++ 6.0

Signaler
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012
-
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005
-
Salut a tous,

J'aimerais savoir si qqun sait comment faire pour obtenir le focus j'ai un HWND console; ou console represente ma fenetre et je lui fait un
ShowWindow(console, SW_SHOWNA);

mais le probleme c'est que ca ne l'active pas oblige de cliquer dessus pour pouvoir l'activer et j'ai aussi tester avec tous les SW_* qui existe rien ne marche.
Je suis embete car apres je lui simule un ALT+ENTER ce qui a pour effet de la passer en plein ecran donc forcement le plein ecran ne marche pas :'(:'(:'(

Merci de votre aide. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

14 réponses

Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

resalut alors comment ca a cher ami lol

voila

SetFocus(Hwnd);
Hyper facile Non ?
Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Re Re salut :D

J'ai marque ca a la lettre :

ShowWindow(console, SW_SHOWNA);
SetFocus(console);
main_console();
ShowWindow(console, SW_HIDE);

la fenetre est au premeir plan le bouton de la fenetre en bas est enfonce mais c pas actif si je cliqeu dessus le titre devient bleu et si je clique pas il est grisé. :sad)

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

dit pourkoi ne pas utiliser la win32 c plus facile utilise une fenetr e windows
Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Tout simplement parce qu'on voit la win32 en classe l'annee prochaine je ne susi qu'a ma premiere annee de prog je connais aps grand chose meme si je me debrouille assez bien (h).
Hihihi

Si je fait un cout<<SetFocus(console)<<endl; il m'affiche 00000000

Tient puisque tu n'aime aps trop la consoel je vais te poser une question comment faire pour empecher qu'il y es pls icones du meme programme dans la systray et quand je passe ma souris dessus les icones partent

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

avec l'argument Hinstance tu verfier si ton programme est deja lancer alors la tu lui dit s'il a deja un alors en sort du prog simple non

Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

lol att deux minutes pour cracker hihi
c la dedans

NOTIFYICONDATA trid;

trid.cbSize = sizeof(NOTIFYICONDATA);
trid.hWnd = hWnd;
trid.uID = id;
trid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
trid.uCallbackMessage = WM_TRAY_ICONE;
trid.hIcon = LoadIcon(hInst, IconName);


ou la dedans

case WM_INITDIALOG:
SetClassLong(hWnd, GCL_HICON, (long)LoadIcon(hInst, (LPCTSTR)IDI_ICON));
AddIcone(hInst, hWnd, 2, MAKEINTRESOURCE(IDI_ICON), "Calendrier by A&Nexus");

// on rend invisible le dialog
WINDOWPLACEMENT My_Hwnd;
My_Hwnd.length = sizeof(WINDOWPLACEMENT);
My_Hwnd.showCmd = SW_HIDE;
SetWindowPlacement(hWnd,&My_Hwnd);
break;


Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

ni dans la premiere ni dans la deusieme c dans la winmain la il a un argument nomé Hinstance
;)
aller bey
Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Re Slt,

T'aurais pas une aide un peu plus clair car j'ai bien un instance dans mon main

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

mais avec ca je dois appeler une fonction ? ou faire autre chose pour verifier si le programme est deja lancer moi je pensai un truc du style verifier dans les processus lance si Calendrier.exe existe si il existe je ne fait rien masi si le gars renomme le fichier ca va pas le faire.

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

ben le trucs de processus n est pas fiable a 100% car ca peu que il a un autr eproces Nomé calandar alors ce qui va trainé que ton prog v a pas marché
2-pour hinstanceil faut juste verifier la variable :=)
Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

Lol je t'embete un peu masi je m'y connais en rien sur ce sujet mais quelle variable ???

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

attend je v te sortir le code ;) c mieux
Life is Short 8-)
Messages postés
163
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
3 février 2012

ok je te remercie

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

He le trucs marche pas je c pas pourkoi (pardon) alors pour l'instan essey de la creé avec les processus
dsl
Life is Short 8-)
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

moi je v essyer encore
Life is Short 8-)