Marquise de sélection

MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 - 12 juin 2003 à 12:15
Silmon Messages postés 85 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 7 mai 2007 - 5 avril 2006 à 15:04
Comment faire pour dessiner une marquise de sélection?
(pas de bidouille avec un objet shape en pointillé SVP, une vraie marquise)

merci d avance

MrDogbert

5 réponses

Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005
12 juin 2003 à 14:05
Désolé je ne sais pas ce qu'est une marquise de sélection

Jean-Luc
0
MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 1
12 juin 2003 à 17:42
l espece de rectangle en pointillés qui te permet de sélectionner tes icones sur le bureau par exemple.

MrDogbert
0
Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005
12 juin 2003 à 18:56
On utilise l'api DrawFocusRect

Pace un picturebox sur une feuille
puis colle le source suivant

Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long

Dim DrawRct As RECT
Dim Drawing As Boolean

Private Sub Form_Load()
Picture1.AutoRedraw = False
Picture1.ScaleMode = vbPixels
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lRet As Long
If (Button And 1) = 1 Then
DrawRct.Left = X
DrawRct.Top = Y
DrawRct.Right = X
DrawRct.Bottom = Y
lRet = DrawFocusRect(Picture1.hdc, DrawRct)
Drawing = True
End If
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lRet As Long
If Drawing Then
lRet = DrawFocusRect(Picture1.hdc, DrawRct)
DrawRct.Right = X
DrawRct.Bottom = Y
lRet = DrawFocusRect(Picture1.hdc, DrawRct)
End If
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lRet As Long
If Drawing Then
lRet = DrawFocusRect(Picture1.hdc, DrawRct)
Drawing = False
End If
End Sub

Jean-Luc
0
MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 1
12 juin 2003 à 19:21
Merci bien

MrDogbert
0

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

Posez votre question
Silmon Messages postés 85 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 7 mai 2007
5 avril 2006 à 15:04
Je cherche le moyen de dessiner un focus (avec ou sans DrawFocusRect) dans un control, par exemple un bouton, une FlexGrid.

QQ a une idée SVP?
0
Rejoignez-nous