Les Snippets

Connexion

Afficher un formulaire AlwaysOnTop et sans Focus (comme une popup messenger)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 10/05/2008 20:20:36 et initié par PCPT [Liste]
Date de mise à jour : 10/05/2008 20:59:28
Vue : 805
Catégorie(s) : API, Trucs & Astuces, Divers, WinForm
Langages dispo pour ce code :
- VB6
- VB6
- Voir tous les langages pour ce code snippet



Langage : VB6
Date ajout : 10/05/2008
Posté par PCPT [Liste]
DateMAJ : 10/05/2008
Private Type RECT
    Left    As Long
    Top     As Long
    Right   As Long
    Bottom  As Long
End Type
Private Type POINTAPI
    X       As Long
    Y       As Long
End Type
Private Type WINDOWPLACEMENT
    Length           As Long
    flags            As Long
    showCmd          As Long
    ptMinPosition    As POINTAPI
    ptMaxPosition    As POINTAPI
    rcNormalPosition As RECT
End Type
Private Const SWP_NOSIZE        As Long = &H1
Private Const SWP_NOMOVE        As Long = &H2
Private Const SWP_NOACTIVATE    As Long = &H10
Private Const SW_SHOWNOACTIVATE As Long = 4&
Private Const HWND_TOPMOST      As Long = (-1&)
'
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As LongByVal 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
Public Sub TopMostNoFocus(ByVal lHandle As Long)
    Dim tWIN As WINDOWPLACEMENT
'   récupère position / flag
    tWIN.Length = Len(tWIN)
    Call GetWindowPlacement(lHandle, tWIN)
'   change le flag FOCUS au type
    tWIN.showCmd = SW_SHOWNOACTIVATE
'    applique NOFOCUS à  la fenêtre
    Call SetWindowPlacement(lHandle, tWIN)
'   applique premier plan permanent
    Call SetWindowPos(lHandle, HWND_TOPMOST, 0&, 0&, 0&, 0&, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE)
End Sub

Remarque :
copiez le code ci-dessus dans un module et appliquez le style dans le Form_Load par Call TopMostNoFocus(Me.hWnd)

Snippets en rapport avec : Afficher, Popup, Fenêtre, Focus, Topmost



Codes sources en rapport avec : Afficher, Popup, Fenêtre, Focus, Topmost

{Javascript / DHTML} THE WWT: WEB WIDGETS TOOLKIT
A la base je voulais créer un plugin eclipse transformant une interfarce swt en java en interface we...

{Javascript / DHTML} MISE À JOUR D'UNE LISTE DÉROULANTE VIA UN POPUP
Je remercie jojo sans qui cette source n'existerai pas ! Je recherchais une mise à jour seulement d...

{C / C++ / C++.NET} DROPDOWN LISTBOX (WIN32)
Petit exemple d'une solution trouvée suite à cette discussion sur le forum: http://www.cppfrance.co...

{Visual Basic, VB6, VB.NET, VB 2005} FOCUS D'UNE FENÊTRE (ÉVÈNEMENTS GET LOST PAR SUBCLASSING)
Bonjour, Comment savoir réellement quand une Form perd ou retrouve son focus... il faut intercepte...

{ASP / ASP.NET} LIEN DYNAMIQUE OUVRANT UNE PAGE POPUP
Cette méthode permet d'ajouter un lien dynamiquement à l'aide du code asp.Net. Le but est d'ouvrir...

{Visual Basic, VB6, VB.NET, VB 2005} RENDRE UNE FENETRE MODALE
Comment rendre un formulaire Modale ? MonForm <= Votre Formulaire...

{PHP} WEB VIDÉO V1.0 LECTEUR VIDÉO POUR VOTRE SITE WEB
Source d'un lecteur vidéo pour votre site web, le format vidéo est en .flv (peux lire d'autre forma...

{Javascript / DHTML} POPUP INFOBULLE
Création d'une PopUp sous forme d'infoBulle affichant la date courante On peux faire appel a a fonc...

{JAVA / J2EE} EXEMPLE DE JSPLITPANE
C'est un petit exemple qui peut vous aider à construire des SplitPane (un exemple simple mais trés ...

{C# / C#.NET} MASQUER, AFFICHER COLONNES DATAGRID
ce datagrid permet de masquer ou d'afficher les colonnes désirer et de garder la largeur des colonne...