Help

nabilwael Messages postés 62 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 11 mars 2010 - 16 avril 2007 à 17:37
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 16 avril 2007 à 22:39
bonjour,
comment je peus dessiner dans ma forme une ligne vertical ou horizontal avec la sourie
merci

9 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 avril 2007 à 17:40
Salut,
Bonne section au bout du 29 eme message (en progrès)

[auteurdetail.aspx?ID= 2359 Renfield]
a dit:

Me.Line ( X1,Y1)-(X2,Y2)
est ce que au moins tu as essayé ce que l'on te proposepour une ligne horizontale Y1 Y2 et pour une ligne verticale X1 X2

Prochaine étape dans "comment se servir du forum"
 - tu apprendras à ne pas poster deux fois la même question à quelques minutes d'interval (même pour en chagner la section).
- Tu apprendra aussi à trouver des titres SIGNIFICATIFS à tes problèmes.
@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2007 à 17:47
dessiner avec la souris ?

voici une BASE, reste a adapter a TES besoins :

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbLeftButton Then       If Me.CurrentX 0 And Me.CurrentY 0 Then
           Me.CurrentX = X
           Me.CurrentY = Y
       End If
       Me.Line -(X, Y)
   End If
End Sub , ----
By Renfield

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
nabilwael Messages postés 62 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 11 mars 2010
16 avril 2007 à 17:58
de retour,
je connais cette source mais je veus pas des lignes inclinés juste vertical ou horizontal

mreci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2007 à 19:00
une simple comparaison te permettra de savoir si tu t'aprete a tracer un segment vertical ou horizontal...
et te permettra de determiner si tu fais :

Me.Line -(Me.CurrentX, Y)    '# Trait Vertical

ou

Me.Line -(X, Me.CurrentY)    '# Trait horizontal

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

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

Posez votre question
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 20:56
Salut,


Je me suis un peu amusé, colle le code ci dessous dans une forme et test, ca te donnera des idées pour tirer des lignes


Clicker sur la forme et déplacer la souris.


Dim mAxeY As Single
Dim mAxeX As Single
Dim W As Long, H As Long


Private Sub Form_Load()
    W = Me.Width
    H = Me.Height
End Sub


Private Sub Form_MouseDown(Button As Integer, Shift _
As Integer, X As Single, Y As Single)
    Me.DrawMode = 13    AxeY Y: AxeX X
    Line (X, 0)-(X, H)
    Line (0, Y)-(W, Y)    mAxeY Y: mAxeX X
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift _
As Integer, X As Single, Y As Single)
    If Button <> 0 Then
        'mode Note merge (efface)
        Me.DrawMode = 2
        Line (mAxeX, 0)-(mAxeX, H)
        Line (0, mAxeY)-(W, mAxeY)        mAxeY Y: mAxeX X
       
        'mode draw
        Me.DrawMode = 13
        'par défaut dessine sur la feuille
        Line (mAxeX, 0)-(mAxeX, H)
        Line (0, mAxeY)-(W, mAxeY)
       
    End If
End Sub


Private Sub Form_Resize()
    W = Me.Width
    H = Me.Height
End Sub
A+ 
louis
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 avril 2007 à 21:36
Ouais...
Vous êtes en train de l'égarer...
Je sais bien qu'il ne le mérite pas vraiment... mais voilà

Private debx As Integer, deby As Integer


Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   debx = X
   deby = Y
End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Not Button = 1 Then Exit Sub
  Me.Cls
  Me.Line (debx, deby)-(X, Y)
End Sub


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Not Button = 1 Then Exit Sub
  Me.AutoRedraw = True
  Me.Line (debx, deby)-(X, Y)
  Me.AutoRedraw = False
End Sub

Tu cliques en un point, gardes ton bouton pressé, te déplaces où tu veux et libère ton bouton...
Tu fais ainsi, ensuite, autant de lignes que tu veux ...
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
16 avril 2007 à 22:10
salut jmfmarque
copie de mon code mais qui ne se déplace pas!!!!!!!!!!!!!!!!!!!!!!!!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 avril 2007 à 22:32
Copie de rien du tout, sinon du trois cent millième du moins bon de mes outils de dessin ...
Il s'agit là du code le plus élémentaire possible, sans même utiliser la moindre structure ... tu rigoles, je pense...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 avril 2007 à 22:39
Tiens, Lermitte, ce code vient directement de l'aide en ligne de VB...(j'espère que VB ne t'a pas copié !...)
Profites-en et notre ami demandeur aussi...
Sub Form_Click()
    Dim CX, CY, F, F1, F2, I    ' Declare variables
    ScaleMode = 3   ' Set ScaleMode to pixels.
    CX = ScaleWidth / 2 ' Get horizontal center.
    CY = ScaleHeight / 2    ' Get vertical center.
    DrawWidth = 8   ' Set DrawWidth.
    For I = 50 To 0 Step -2
        F = I / 50  ' Perform interim        F1 1 - F: F2 1 + F  ' calculations.
        ForeColor = QBColor(I Mod 15)   ' Set foreground color.
        Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF


Next I
    DoEvents    ' Yield for other processing.
    If CY > CX Then ' Set DrawWidth.
        DrawWidth = ScaleWidth / 25
    Else
        DrawWidth = ScaleHeight / 25
    End If
    For I = 0 To 50 Step 2  ' Set up loop.
        F = I / 50  ' Perform interim        F1 1 - F: F2 1 + F  ' calculations.
        Line (CX * F1, CY)-(CX, CY * F1)    ' Draw upper-left.
        Line -(CX * F2, CY) ' Draw upper-right.
        Line -(CX, CY * F2) ' Draw lower-right.


Line -(CX * F1, CY) ' Draw lower-left.
        ForeColor = QBColor(I Mod 15)   ' Change color each time.
    Next I
    DoEvents    ' Yield for other processing.
End Sub
0
Rejoignez-nous