Empêcher le déplacement d'une fenêtre comportant une barre de titre

Signaler
Messages postés
2
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2008
-
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
-
Bonjour,
Est-il possible d'empêcher le déplacement d'une Form comportant une barre de titre ?
Merci.

6 réponses

Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
oui c'est possible

de rien

Bonjour chez vous !
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
Private





Sub

Form1_Move(


ByVal

sender


As





Object

,


ByVal

e


As

System.EventArgs)


Handles





Me

.Move








Me

.SetBoundsCore(100, 100, 526, 234, BoundsSpecified.Location)








End





Sub












Bonjour chez vous !
Messages postés
2
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2008

Merci pour la réponse.
Mais les scintillements générés sont plutôt gênants.
MD
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
Me

.DoubleBuffered =


True











Bonjour chez vous !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonsoir,

inhibe alors le déplacement dans le menu système de ta Form !


 


En VB6 ce serait :



Option Explicit
Private Const SC_MINIMIZE = &HF020&
Private Const SC_CLOSE = &HF060&
Private Const SC_MAXIMIZE = &HF030&
Private Const SC_RESTORE = &HF120&
Private Const SC_SIZE = &HF000&
Private Const SC_MOVE = &HF010&



Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Private Sub couic_Click()
    Dim sysmen As Long
    sysmen = GetSystemMenu(Me.hwnd, 0)
    DeleteMenu sysmen, SC_MOVE, &H0&
End Sub


Et sous VB.Net ce devrait être la même chose en rempaçant Long par Integer ...




 
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
ça marche très bien  merci jmfmarques

Public

Class Form1

Private
Const SC_MINIMIZE = &HF020&

Private
Const SC_CLOSE = &HF060&

Private
Const SC_MAXIMIZE = &HF030&

Private
Const SC_RESTORE = &HF120&

Private
Const SC_SIZE = &HF000&

Private
Const SC_MOVE = &HF010&

Private
Declare
Function GetSystemMenu
Lib
"user32" (
ByVal hwnd
As
Integer,
ByVal bRevert
As
Integer)
As
Integer

Private
Declare
Function DeleteMenu
Lib
"user32" (
ByVal hMenu
As
Integer,
ByVal nPosition
As
Integer,
ByVal wFlags
As
Integer)
As
Integer

Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

Dim sysmen
As
Integersysmen = GetSystemMenu(

Me.Handle, 0)DeleteMenu(sysmen, SC_MOVE, &H0&)

End
SubEnd

Class

Bonjour chez vous !