Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction RoundRect

Declare Function RoundRect Lib "gdi32" ( _
                 
ByVal hdc As Long, _
                 ByVal X1 As Long, _
                 ByVal Y1 As Long, _
                 ByVal X2 As Long, _
                 ByVal Y2 As Long, _
                 ByVal X3 As Long, _
                 ByVal Y3 As Long) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
Cette fonction permet de dessiner un rectangle avec les bords arrondis.
hdc est le contexte de sortie.
X1, Y1 sont les coordonnées du point haut/gauche du rectangle.
X2, Y2 sont les coordonnées du point bas/droit du rectangle.
X3, Y3 représentent la largeur et la hauteur de l'ellipse utilisée pour les coins arrondis.
En cas de succès la fonction retourne une valeur différente de 0.

Exemple d'utilisation :

' Utilisation de l'API "RoundRect"
' Programme par Alain Quinet (alain.quinet@free.fr) - Mars 2002

' Placer 6 Textbox sur une form :
' txtX(1), txtX(2), txtX(3) et txtY(1), txtY(2), txtY(3)
' Placer un bouton "Command1"

Private Sub Command1_Click()
Dim ValRet As Long
ValRet = RoundRect(Me.hdc, txtX(1), txtY(1), txtX(2), txtY(2), txtX(3), txtY(3))
If (ValRet <> 0) Then
   
MsgBox ("La fonction a réussi" & (Chr(10)) & "Valeur de retour : " & ValRet)
Else
   
MsgBox ("La fonction a échoué" & (Chr(10)) & "Valeur de retour : " & ValRet)
End If
End Sub

Private Sub
Form_Load()
Me.Top = (Screen.Height / 2) - (Me.Height / 2)
Me.Left = (Screen.Width / 2) - (Me.Width / 2)
txtX(1).Text = "50"
txtY(1).Text = "250"
txtX(2).Text = "250"
txtY(2).Text = "450"
txtX(3).Text = "50"
txtY(3).Text = "50"
End Sub

Private Sub
txtX_Change(Index As Integer)
Call
txtChange
End Sub

Private Sub
txtX_GotFocus(Index As Integer)
txtX(Index).SelStart = 0
txtX(Index).SelLength = Len(txtX(Index).Text)
End Sub

Private Sub
txtY_Change(Index As Integer)
Call
txtChange
End Sub

Private Sub
txtY_GotFocus(Index As Integer)
txtY(Index).SelStart = 0
txtY(Index).SelLength = Len(txtY(Index).Text)
End Sub

Private Sub
txtChange()
If (txtX(1).Text = "") Or (txtY(1).Text = "") Or _
    (txtX(2).Text = "")
Or (txtY(2).Text = "") Or _
    (txtX(3).Text = "")
Or (txtY(3).Text = "") Then
   
Command1.Enabled = False
Else
   
Command1.Enabled = True
End If
End Sub

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr