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

VB 6 et antérieur Discussion :

VB6.0 PopUp Modal


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut VB6.0 PopUp Modal
    Bonjour,

    Je develloppe actuellement un addons de logiciel de supervision en VB6.0.

    Je souhaite réaliser la fonction suivante à l'utilisateur:

    L'avertir d'une popup indiquant un message, et geler en quelque sorte l'accès aux fonctions du logiciel de supervision.

    J'ai utilisé l'appel suivant pour ma form:

    Malheureusement l'avant plan est mal géré et une partie de la form se trouve en arrière, de plus l'utilisateur peut cliquer en dehors de la popup et ainsi complètement l'inhibé.

    L'appel de la fonction .showdialog m'a été impossible, je n'ai pas réussit à la mettre en pratique malgrès la lecture de msdn et des forums.

    Si une bonne ame avait une astuce pour un developpeur que je qualifierais de rappatrié

    Edit:
    Pour contourner le problème sinon ce que je pourrais réaliser serait les fonctions suivantes
    Etre absolument sur du premier plan de ma fenetre.
    Précision: Non non je suis à peine débutant ^^
    Et activer une zone de clic variable uniquement sur ma fenetre.
    Cordialement,

    Balises Code ajoutées par zazaraignée

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    De deux choses l'une

    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Alarm.Show vbModal  ' sans le dernier paramètre
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Le message", vbOkOnly + vbInformation, "Le titre"

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Merci pour la remise en forme tout d'abord

    Les deux suggestions ne me solutionnait toutefois pas mon problème.

    Cette manière là fonctionne très bien pour la mise en forme au premier plan:

    Il faut utiliser l'API SetWindowsPos. Voici le code d'une fonction permettant d'activer ou de désactiver l'affichage au premier plan d'une fenêtre :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NOSIZE = &H1
    Private Const SWP_NOACTIVATE = &H10
    Private Const SWP_SHOWWINDOW = &H40
    Private Const HWND_TOPMOST = -1
    Private Const HWND_NOTOPMOST = -2
    Private Const Flags = SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
     
    Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
     
    Private Function SetTopMostWindow(Window As Form, Topmost As Boolean) As Long
     
        If Topmost = True Then
            SetTopMostWindow = SetWindowPos(Window.hwnd, HWND_TOPMOST, 0, 0, 0, 0, Flags)
        Else
            SetTopMostWindow = SetWindowPos(Window.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, Flags)
        End If
     
    End Function
     
    Private Sub Form_Load()
     
        'Exemples d'utilisations de la fonction :
        SetTopMostWindow Me, True 'Active l'affichage au premier plan
        SetTopMostWindow Me, False 'Désactive l'affichage au premier plan
    Concernant l'inhibation du logiciel de supervision, ce qui est prépondéral pour le fonctionnement de mon add-on, est il réalisable de délimiter une fênetre de l'écran représentant le seul espace de clic de souris valide.

    Edit:
    J'ai réussit à trouver ma solution pour inhiber le logiciel de supervision en limitant l'espace accessible à ma souris à l'aide des librairies API.

Discussions similaires

  1. [ASP.NET 2] Problème avec un formulaire popup modal
    Par dinbougre dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/09/2007, 11h32
  2. Pb Popup modale
    Par mofovox dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h24
  3. VB6 Un popup qui n'affecte pas le travail
    Par Vortal dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/11/2006, 17h53
  4. Popup modale, comportement bizarre
    Par Mustik dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/01/2006, 19h38
  5. Fenêtre popup modale. Est-ce possible ?
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/02/2005, 17h35

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