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

Composants VCL Delphi Discussion :

Rendre une fenêtre modale non modale


Sujet :

Composants VCL Delphi

  1. #1
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut Rendre une fenêtre modale non modale
    Tout est dans le titre. Je dispose du Handle d'une fenêtre modale (extérieure à mon application) et j'amerai la rendre non-modale afin d'accéder au reste de l'application quand elle est affichée.

    Je ne pense pas que ca soit possible car il me semble que ces paramètres sont fixés lors de la création de la fiche, mais comme je n'en suis pas sûr...


    Merci de votre précieuse aide !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne pense pas que ca soit possible car il me semble que ces paramètres sont fixés lors de la création de la fiche
    Mis a part les boîtes de dialogues (affiché via l'API DialogBox), le fonctionnement d'une fenêtre (modale ou non modale) n'est pas défini par Windows: il ne connaît que les non modales.

    Il faut donc savoir si ta fiche est un boîte de dialogue (via DialogBox) ou une fenêtre normale. Dans le premier, rien à faire. Dans le deuxième a mon avis, on y peut rien.

    Par exemple, pour les fenêtres Delphi, regarde TCustomForm.ShowModal dans Forms.pas. Tu y trouves:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Show;
        try
          SendMessage(Handle, CM_ACTIVATE, 0, 0);
          ModalResult := 0;
          repeat
            Application.HandleMessage;
            if Application.FTerminate then ModalResult := mrCancel else
              if ModalResult <> 0 then CloseModal;
          until ModalResult <> 0;
          Result := ModalResult;
          SendMessage(Handle, CM_DEACTIVATE, 0, 0);
          if GetActiveWindow <> Handle then ActiveWindow := 0;
        finally
          Hide;
        end;

  3. #3
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    C'est ce qui me semblais... Merci

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

Discussions similaires

  1. rendre une fenêtre modale
    Par njock dans le forum wxPython
    Réponses: 6
    Dernier message: 19/07/2012, 18h32
  2. rendre une fenêtre modale
    Par njock dans le forum Général Python
    Réponses: 0
    Dernier message: 24/06/2012, 10h39
  3. Rendre une pop up non-modale
    Par javamax dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 20/12/2007, 23h30
  4. Rendre une fenêtre non-redimensionnable
    Par TSalm dans le forum Windows
    Réponses: 10
    Dernier message: 15/11/2007, 11h57
  5. Réponses: 2
    Dernier message: 16/03/2007, 10h13

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