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 :

TFileOpenDialog position d'initialisation [Système/Fichiers/API]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 13
    Par défaut TFileOpenDialog position d'initialisation
    Bonjour,

    J'utilise TFileOpenDialog et TFileSaveDialog sur un système multi-écran. Je place le composant sur la form et quand je fais un :

    ou un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenDialog->Execute(Application->Handle);
    Cette fenêtre de dialogue apparaît toujours sur l’écran principal et non pas sur l'écran secondaire, là ou mon application tourne.

    Savez-vous comment je peux forcer la fenêtre de dialogue sur l'écran de mon application ?

    Merci a tous

    Cordialement

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut BIPBIP59
    Si tu dois ouvrir ta Form2 juste avant l'ouverture du TFileOpenDialog, tu peu essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form2->Show();
    OpenDialog1->Execute();
    il est aussi possible de mettre la Form2 au premier plan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form2->BringToFront();
    OpenDialog1->Execute();

  3. #3
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 164
    Par défaut
    Je l'ai pas essayé, mais y a une solution ici qui fait plein sens:

    http://www.delphigroups.info/2/21/290728.html

    J'ai essayé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm2::OpenDialog1Show(TObject *Sender)
    {
      TOpenDialog* dlg = (TOpenDialog*)Sender ;
      MoveWindow(dlg->Handle,0,0,0,0,true) ;
      Abort() ;
    }
    Et ça positionne le OpenDialog à la postion 0,0 de la partie client du parent du dialogue.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 13
    Par défaut
    Merci pour vos réponses, hélas cela ne fonctionne pas pour mon cas.
    Pour la première solution proposé par blondelle je permet d’ajouter un complément d’information, car mon appli n’a qu’une seule form qui est exécutée sur l’écran secondaire, elle est déjà visible et active et c’est elle qui ouvre ma fenêtre de dialogue (par un simple menu). Malgré tout elle s’ouvre systématiquement dans l’écran principal.

    Et la seconde solution de Guyt54 qui me convenait parfaitement, sauf que j’utilise un TFileOpenDialog ou un TFileSaveDialog et hélas contrairement au TOpenDialog, ils ne possèdent pas d’event OnShow ....

    merci encore c’était vraiment bien sympathique de votre part.

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Peut tu preciser quelle version de BCB tu utilise
    Quand tu parle d'ecran, tu parle d'ecrans par exemple de 19 pouces, ou tu parle d'une fenetre sur laquelle s'affiche deux Forms

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 13
    Par défaut
    Salut blondelle

    j'utilise Embarcadero® RAD Studio XE.

    Et j'ai 2 écrans physiques 19 pouces, l'application tourne sur l'écran n°2 (le secondaire) et les fenêtres de dialogue s'affichent sur l'écran n°1 (le principal)

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Deux ecrans 19 pouces je l'ai compris a ta derniere reponse, malheureusement cela depasse mes competences, mais probablement que quelqu'un te proposera une solution ou une piste
    Desole

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2013, 07h03
  2. [XSLT]position d'un element de valeur specifique
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/07/2002, 16h42
  3. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09
  4. Réponses: 2
    Dernier message: 17/05/2002, 20h37
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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