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

Windows Discussion :

API programmation getwindow()


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 27
    Points
    27
    Par défaut API programmation getwindow()
    Utilisant des api sur un projet, je reste bloqué sur ce qui suit :

    Lors d'un traitement, un fenêtre de dialogue(OK, Anuler) s'ouvre et bloque mon traitement jusqu'à ce qu'on clique ok ou Cancel.
    Je voudrais pouvoir connaitre le handle du bouton ok et lui envoyé un signal pour fermer cette fenetre automatiquement.

    Je connais le handle de la fenetre dont dépent cette boite de dialogue mais je n'arrive pas à connaitre le handle de la boite de dialogue alors que j'utilise getwindow avec le parametre CHILD.

    PS : je développe en Windev

    Merci

    Michel

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par MICHEL_R
    Utilisant des api sur un projet, je reste bloqué sur ce qui suit :

    Lors d'un traitement, un fenêtre de dialogue(OK, Anuler) s'ouvre et bloque mon traitement jusqu'à ce qu'on clique ok ou Cancel.
    Je voudrais pouvoir connaitre le handle du bouton ok et lui envoyé un signal pour fermer cette fenetre automatiquement.

    en general c'est traite dans la DialogProc ou procedure de fenetre et on fait un switch case avec WM_COMMAND

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    BOOL MaDialogProc( HWND hwndDlg,  UINT uMsg, WPARAM wParam, LPARAM lParam  )
    {
    
    case WM_COMMAND:
    switch (LOWORD(wParam)) 
    {
    case IDC_MON_BOUTON_OK:
    break;
    }
    }

  3. #3
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Il ne faut pas prendre GetWindow mais GetCtrlItem pour un bouton

    GetDlgItem Function


    The GetDlgItem function retrieves a handle to a control in the specified dialog box.
    GetWindow c'est pour une fenetre

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    Je ne comprends pas. Sans doute que je me suis mal expliqué.

    La "dialog box" qui s'ouvre n'est pas une de mes fenetres mais une fenetre qui appartient à une fenetre InternetExplorer dont j'ai le handle. Je n'ai donc pas acces aux procédures MaDialogProc..

    Pour ce qui est de GetDlgItem, merci pour l'info mais je n'ai ni le handle de la "dialog box", ni le handle qui identifie le bouton et ces 2 parametres sont nécessaires pour utiliser GetDlgItem

    Une idée?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Essaie GetWindow() avec le paramètre GW_ENABLEDPOPUP.
    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.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    Grace à vos infos j'ai trouvé le lien
    http://vbcity.com/forums/topic.asp?tid=108859
    qui correspond exactement à ce que je recherche

    Merci pour le coup de pouce

    Michel

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par MICHEL_R
    Je ne comprends pas. Sans doute que je me suis mal expliqué.

    La "dialog box" qui s'ouvre n'est pas une de mes fenetres mais une fenetre qui appartient à une fenetre InternetExplorer dont j'ai le handle. Je n'ai donc pas acces aux procédures MaDialogProc..

    Une idée?
    Ah oui mais fallait etre plus precis !
    Dans ce cas la c'est different ; la question est souvent posee il faut utiliser FindWindowEx et autres

Discussions similaires

  1. Réponses: 29
    Dernier message: 14/01/2013, 10h40
  2. [2008R2] API programmation des rapport SSRS
    Par teacher dans le forum SSRS
    Réponses: 1
    Dernier message: 26/07/2012, 10h29
  3. tutoriel : La programmation de l'API Windows en C++ par Bob
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 19
    Dernier message: 21/06/2008, 14h34
  4. programmation d'API windows et multithreading
    Par Mastero dans le forum Windows
    Réponses: 8
    Dernier message: 07/03/2005, 23h00
  5. Questions sur la programmation Api de windows
    Par ApolloCrid dans le forum MFC
    Réponses: 7
    Dernier message: 22/02/2004, 01h43

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