Accueil > Forum > > > > question de débutant sur hwnd
question de débutant sur hwnd
vendredi 27 août 2004 à 08:39:38 |
question de débutant sur hwnd

leprov
|
salut a tous. bon une question toute bete. je voudrais a chacune de mes actions savoir si ma fenetre est ouverte, férmée, rétrécie,etc. alors la question que je me pose : est ce que je dois créer un hwnd global que j'initialise a chaque ouverture de ma fenetre et ke a chaque fermeture (je dois dc controler tous les cas, ok, annuler, la croix...) j'invalide mon hwnd global, ou un findwindow a chaque fois que j'ai besoin serait la solution? dans ce cas je fait comment, sachant que la fenetre en question est une dialogbox? paske findwindow ca marche comment? jai cherché msdn et jai regardé les sources ou c'est utilisé, jai pas trop capté comment je fait pour l'utiliser. merci d'avance
|
|
vendredi 27 août 2004 à 11:07:38 |
Re : question de débutant sur hwnd

AlexMAN
|
Ben tu utilises un hwnd global ke tu initialises ds ton WM_INITDIALOG et pis apres tu joues avec ! Pas de findwindow puis ce que tu as le hwnd, pkoi le chercher ?
++
|
|
vendredi 27 août 2004 à 11:38:11 |
Re : question de débutant sur hwnd

DeAtHCrAsH
|
Une fois que tu as défini ton handle en globale il n'est pas nécéssaire de le rechercher a chaque fois que tu voudras t'en servir. c'est bien le but des varaibles globales. Tu vas donc déclarer le handle en global et tu va l'initialiser dans ton WM_INITDIALOG: #include <....> ... HWND hDlg; ...
BOOL CALLBACL AppDlg(.......) { case WM_INITDIALOG: hDlg = hWnd; break; .... }
APIENTRY WinMain(.....) { ... }
|
Ensuite pour trouver dans quel etat est ta fenetre, sert toi de la fonction GetWindowPlacement(). Si je me trompe pas elle renvoie un flag en fonction de l'etat de la fenetre : WM_MAXIMIZE pour agrandie, WM_MINIMIZE pour retrécie, WM_SHOWNORMAL pour etat normal,.... Shell
|
|
vendredi 27 août 2004 à 11:44:58 |
Re : question de débutant sur hwnd

AlexMAN
|
Je savais pas pour GetWindowPlacement(), jviens de verifier, c tt a fait exact ce ke tu dis DeathCrash. Sinon il existe des fonctions IsQuelqueChose : IsIconic, IsZoomed, IsWindow...Etc. Mais c koi le mieux ?
|
|
vendredi 27 août 2004 à 12:17:09 |
Re : question de débutant sur hwnd

leprov
|
non ma question est uniquement "qu'est ce qui sera la mieux?" paske pr moi, le findwindow sera plus lourd, mais la variable globale est plus chiante a manier et moins sure. et si j'utilise le findwindow, ca marche comment? je fais comment pour utiliser findwindow sachant que je cherche ma dialogbox? je sais bien que je vais pas utiliser les 2, ca serait debile (chui newbie en api, mais le C++ ca va, je manie correctement on dira)
|
|
vendredi 27 août 2004 à 12:19:15 |
Re : question de débutant sur hwnd

leprov
|
et le probleme si j'initialise mon hwnd dans la initdialog, est ce que quand ma fenetre se ferme mon handle sera invalidé corectement ou est ce qu'il faut ke je le fasse a la main des ke je fais une action suceptible de fermer ma fenetre? genre est ce que je dois faire case ID_CANCEL: monhwnd = 0; //traitement; break;
???????
|
|
vendredi 27 août 2004 à 12:34:31 |
Re : question de débutant sur hwnd

DeAtHCrAsH
|
AlexMan> Le mieux c'est d'utiliser GetWindowPlacement() car elle te renvoie l'etat actuel de ta fenetre. Si tu utilises IsIconic, tu vas recuperer un booléen qui te dira simplement si ta fenetre est minimisé ou pas mais ne te donnera pas son état et tu devras donc faire des tests avec d'autre fonction comme IsZoomed(),.... GetWindowPlacement te renvoie le résultat direct.
leprov> Apparemment t'a pas compris grand chose a l'avantage des variables globales. Je vois pas ou est la difficulté a utiliser une varaible qui en plus est globale! Au cas ou tu ne l'aurais pas compris, le handle d'une fenetre est crée a son lancement et ne change pas durant toute l'execution de celle ci, quelque soit sont etat d'affichage!
T'es question ne sont pas non plus très clair. Ca reflete surement le fait que tu n'ais pas compris certaines bases du C et l'utilisation des fenetres et dialog!
Qu'est ce que tu appelles "invalidé le HWND" ??? A quoi ca sert de rechercher sa propre fenetre avec FindWindow() alors que le handle tu l'as deja ???
T'es sure d'avoir tout bien compris concernant la programmation en C/C++ ???
Shell
|
|
vendredi 27 août 2004 à 12:39:12 |
Re : question de débutant sur hwnd

AlexMAN
|
ok DeathCrash, merci et leprov ecoute ce kil te dit, c skil faut faire.
++
|
|
vendredi 27 août 2004 à 12:56:28 |
Re : question de débutant sur hwnd

leprov
|
bon ma kestion est pas claire.... si on est bien d'accord un hwnd est un pointeur. un pointeur est valide ou invalide. ce que je dis c'est que j'ai stocké mon hwnd ds une variable globale, j'ai donc un pointeur sur ma fenetre. mintenant je ferme ma fenetre, et j'utilise mon hwnd. et la ca fait koi, ca va me provoquer une erreur paske mon hwnd pointe sur une fenetre qui n'existe plus, ou ca va me sortir que mon pointeur est invalide et mon prog va continuer a s'executer correctement? si je fais un showwindow sur ce hwnd, ou un getwindowplacement, est ce que ces fonctions vont me sortir une erreur, ou fonctionner en me disant que l'etat de cette fenetre est qu'elle n'existe pas? mon probleme dans l'utilisation de la variable globale est la, est ce que une fois ma fenetre fermée cette variable est toujours utilisable, ou est ce qu'il faut que dans mon analyse des messages envoyés a ma fenetre il faut a chaque fois ke j'invalide mon hwnd pour dire que j'ai fermé ma fenetre? j'espere que ma kestion est plus claire
|
|
vendredi 27 août 2004 à 12:57:41 |
Re : question de débutant sur hwnd

leprov
|
quand a ta question sur les bases du C/C++ tinkiete pas pr ca. le probleme concerne la prog systeme et les apis que je maitrise pas tres bien
|
|
Cette discussion est classée dans : fenetre, débutant, question, hwnd, jai
Répondre à ce message
Sujets en rapport avec ce message
SDL_Surface to HWND [ par unionx ]
Bonjour j'ai un question qui m'interesse beaucoup est je veux avoir un aide si il est possible , merci avance .bonne voila mon question* - je v
LRESULT CALLBACK dans une class [ par TeniX ]
Salut, Je crée une class PRINCIPAL qui memorise la class WNDCLASSEX class PRINCIPAL { public: HINSTANCE hinstance; HWND hwndp
Obtenir un handle d'un fenetre Winform sous la forme d'un HWND [ par gwenCPP ]
Bonjour, J'ai crée une application WinForm avec visual studio c++ 2003.NET. J'ai besoin d'obtenir un handle de ma fenetre principale et de le convert
question de débutant [ par catamenia ]
bonjour,J'ai récupérer un fichier .cpp et .h contenant une classe.j'ai ajouter les fichiers au projet.Quand je déclare une instance de la classe, j'ai
C/C++ [ par Ziman ]
Bonjour,je vais poser une question qi va vous sembler bizarre mais je me pose cette question. J'apprend en ce moment l'API WIN32 en C et bientot, je v
Question de debutant [ par teddybe4r ]
Bon s'il vous plait aider moi à éclaisir ma voie.voilà mon problème. Jai téléchagée Dev-C++ ( Semble vrm bien ). Comme je vous lai
Copier un tableau de couleur vers la fenetre [ par supergrey ]
Bonjour, je voudrais copier les données d'un tableau de char contenant des valeurs RGB vers la fenetre de mon application.J'ai chercher mais je ne tro
hwnd de la fenetre active [ par alphaone ]
Comment voir si la fenétre avec le hwnd X est active ou voir le hwnd de la fenetre active, car je vais faire une boucle qui vérifié périodiquement que
Tabulation dans les champs d'une fenetre [ par billy5938 ]
Bonjour,Je veux pouvoir parcourir les champs d'édition (ou même des checkBox) d'une fenetre. En utilisant la methode IsDialogMessage dans la boucle de
HWND et Preripherique [ par LordBob ]
Bonjour a tous, voila en fait ma question est plutot simple, est ce qu'un HWND est attribué de façon aléatoire ou non? Je m'explique par exemple dans
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|