Formulaire flottant

Résolu
KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013 - 17 oct. 2008 à 12:58
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 17 oct. 2008 à 14:26
Bonjour à tous !

Quelqu'un sait-il comment créer un formulaire flottant ?

Merci

5 réponses

KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013
17 oct. 2008 à 14:11
Salut, ce que je voulais c'était d'avoir un form avec une taille fixé et qui pouvait se déplacer à l'aide du curseur. J'ai finalement trouvé !pour ceux que ça intéresse (C'est du VB.Net pour Mobile)

Public Class frmZoneLieu
Declare Function SetWindowLong Lib "coredll" _
Alias "SetWindowLongW" (ByVal hwnd As IntPtr, _
ByVal nIndex As Int32, _
ByVal dwNewLong As Int32) As Int32


Const WS_SYSMENU As Int32 = &H8000
Const WS_MINIMIZEBOX As Int32 = &H10000
Const WS_MAXIMIZEBOX As Int32 = &H20000
Const WS_CAPTION As Int32 = &HC00000
Const WS_POPUP As Int32 = &H80000000
Const GWL_STYLE As Int32 = -16



Public Sub SetFlottingWindow(ByVal wForm As System.Windows.Forms.Form, _
ByVal wLocation As System.Drawing.Point, _
ByVal wSize As System.Drawing.Size)

wForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None
wForm.ControlBox = False

REM On liste les styles à enlever
Dim e As Integer = WS_SYSMENU Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX

REM On liste les styles à captiver
Dim a As Integer = WS_CAPTION Or WS_POPUP

REM On active les nouveaux styles
Dim s As Integer = a And (Not e)
SetWindowLong(wForm.Handle, GWL_STYLE, s)

wForm.Size = wSize
wForm.Location = wLocation


End Sub

Private Sub frmZoneLieu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim wPos As New Point(20, 20)
Dim wTaille As New Size(200, 200)
SetFlottingWindow(Me, wPos, wTaille)
End Sub
End Class
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
17 oct. 2008 à 14:23
Me

.FormBorderStyle = Windows.Forms.FormBorderStyle.None
ou bien

' resizable

Me.Text =
String.Empty

Me.ControlBox =
False  

Bonjour chez vous !
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
17 oct. 2008 à 14:26
'pour pouvoir la déplacer :))






Public








Class

Form1



Private

mouseOffset


As

Point



'''


<summary>








''' pour la fermer








'''


</summary>








'''












'''












'''


<remarks></remarks>








Private





Sub

Form1_DoubleClick(


ByVal

sender


As





Object

,


ByVal

e


As

System.EventArgs)


Handles





Me

.DoubleClick



Me

.Dispose()



End





Sub








'If there is no title bar, you can move the form just by dragging it.








Private





Sub

Form1_MouseDown(


ByVal

sender


As





Object

,


ByVal

e


As

System.Windows.Forms.MouseEventArgs)


Handles





MyBase

.MouseDownmouseOffset =



New

Point(-e.X, -e.Y)



End





Sub








Private





Sub

Form1_MouseMove(


ByVal

sender


As





Object

,


ByVal

e


As

System.Windows.Forms.MouseEventArgs)


Handles





Me

.MouseMove



If

e.Button = Windows.Forms.MouseButtons.Left


Then








Dim

mousePos


As

Point = Control.MousePositionmousePos.Offset(mouseOffset.X, mouseOffset.Y)

Location = mousePos



End





If








End





Sub








Private





Sub

Form1_Load(


ByVal

sender


As

System.Object,


ByVal

e


As

System.EventArgs)


Handles





MyBase

.Load



Me

.DesktopLocation = mouseOffset



' Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None








' resizable








Me

.Text =


String

.Empty



Me

.ControlBox =


False








End





SubEnd







Class













Bonjour chez vous !
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 oct. 2008 à 13:34
Bonjour,

Tu voudras bien expliquer ce que tu entends par "flottant"...
Je ne connais pas VB.Net, mais me demande si tu n'as rien avec "anchor" (à tout hasard).
Si tu n'as rien : je crois bien (mais à condition que ton "flottant" corresponde au" mien", d'une part, et que, d'autre part, il s'agit bien d'une Form et non de l'un de ses contrôles) que la méthode Move devrait faire ton affiare
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
17 oct. 2008 à 14:00
toutes les fenètres sont soit flottantes soit dockées !
explique un peu plus ,
n'est ce pas simplement pouvoir bouger ton form sans barre de titre ??










Bonjour chez vous !
0
Rejoignez-nous