IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

handle de fenetre


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut handle de fenetre
    bonjour ,
    je veux recuperer un handle d'une fenetre quelquoncque et apartir de ce handle je modifie l'icone de la fenetre j'ai ecrit sa :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        HWND *handle = (HWND*)cvGetWindowHandle ( "Process window" );
         HICON hicon = LoadIcon(NULL, IDI_WINLOGO );
         handle->SetIcon( hicon, true );
    mais j'ai eu un message d'erreur sur la structure handle

    svp aidez moi
    merci

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    Perso, je ne connais pas cvGetWindowHandle(...).
    Es tu sur de cela ?
    (Je n'ai pas a science infuse, mais j'ai jamais vu cette expression)

    @ +

  3. #3
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Avec une petite recherche on trouve la fonction FindWindow pour recupérer le handle d'une fenetre

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    Citation Envoyé par dz_robotix
    mais j'ai eu un message d'erreur sur la structure handle

    svp aidez moi
    merci
    Sans le message d'erreur ça va être dur de t'aider....
    et je suis d'accord avec les autres concernant la fonction que tu utilises: inconnue pour moi. Utilise FindWindow à la place

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    merci pour vos reponses
    concernant la fonction cvGetwindow : c'est une fonction OPENCV qui récupere le handle de la fenetre via son nom , mon problem est le suivant :

    les fenetre d'opencv ont un icone specifique moi je veux recuperer le handle de ces fenetres pour modifier leurs icones via :handle->SetIcone(...)
    justement seticone est reconnue mais le probleme commence acceder à la méthode du handle qui est seticone() ( handle.seticone() ou
    handle->seticone ) c'est ça qui me pose un probleme

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Par défaut
    Il me semble que le SetIcon n'appartient pas à HWND directement donc je pense qu'il faut que tu cast ton HWND avec le Handle de ta fenetre OpenCv pour pouvoir changer l'icone

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    bonjour a vous tous
    voila une autre version de mon code
    effectivement je ne sais pas comment je vais casté mon handle pour acceder à l'icone de la fenetre représentée par ce handle.

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         HWND h;
         h = FindWindow("Process window", NULL);
         HICON hicon = LoadIcon(NULL, IDI_WINLOGO );
         h.SetIcon( hicon, true ); ///--ici je doit faire koi?????-

    merci

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    C'est quoi cette méthode SetIcon. Quelqu'un à un lien msdn vers la documentation car je n'ai rien trouvé....

    Merci !

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    SetIcon() est une méthode pour la classe MFC CWnd.

    Pour un handle de fenêtre, il n'existe pas de fonction dédiée, il faut directement utiliser SendMessage() pour envoyer le message WM_SETICON:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    ::SendMessage(h, WM_SETICON, ICON_BIG, reinterpret_cast< LPARAM >(hicon));
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    je vous remercie vous tous car g plus d'erreur .

  11. #11
    Invité de passage
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 1
    Par défaut
    Hmm... en fait j'ai le meme probleme et je tourne en rond pour le moment. Je n'ai pas vraiment suivi la vraie solution.

    J'ai essaye les deux facons de recuperer le handle:
    - h_window = (HWND)cvGetWindowHandle(windowName);
    - h = FindWindow(windowName, NULL);

    Puis lire l'icone:
    - HICON hMyIcon = (HICON)LoadImage(NULL, "Simone.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);

    ::SendMessage(h, WM_SETICON, ICON_BIG, (LPARAM)hMyIcon);

    Eventuellement je voudrait desactive le bouton fermer la fenetere:
    - EnableMenuItem(GetSystemMenu( h_window, false ), 0xF060, 0x001 | 0x000);

    Mais rien n'y fait. Ma fenetre reste comme si de rien n'etait... Vous pourriez me dire ce qu'il faut que je regarde attentivement pour que ca marche? Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister les handles des fenetres
    Par UserOlivier dans le forum C++/CLI
    Réponses: 2
    Dernier message: 09/09/2010, 14h29
  2. Handle de fenetre
    Par Theleme dans le forum Windows
    Réponses: 5
    Dernier message: 11/12/2006, 11h57
  3. Comment retrouver une fenetre ayant un Handle precis
    Par ced236 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/09/2006, 19h28
  4. [C#] Obtenir handle fenetre IE
    Par BoeufBrocoli dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/11/2005, 15h32
  5. Réponses: 10
    Dernier message: 13/05/2005, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo