begin process at 2010 03 20 12:38:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Objet "line" dans une userform


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Objet "line" dans une userform

mercredi 18 juin 2008 à 11:25:26 | Objet "line" dans une userform

bentzwanaman

Bonjour,

Voila une grosse galère pour moi, je cherche a faire un userform avec un affichage de tableau de bord type "compteur de voiture" ou "cockpit".

Problème, avec ma version vb6.3, je n'arrive pas à avoir dans la partie "controles supplémentaires" dans ma boite a outils l'objet "line" afin de créer l'aiguille du compteur.

J'ai pourtant fouillé la bibliothèque, il n'y a rien à faire.

Quelqu'un peut il m'aider??

Merci

Nicolas

mercredi 18 juin 2008 à 12:25:47 | Re : Objet "line" dans une userform

jack

Administrateur CodeS-SourceS
Salut
VB 6.3 : Ce doit être du VBA ?
Tu travailles avec quel logiciel ? Excel, Word ou Access  ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
mercredi 18 juin 2008 à 12:31:55 | Re : Objet "line" dans une userform

bentzwanaman

oui c'est bien du VBA.

je travaille sur excel

Merci de ton aide.

mercredi 18 juin 2008 à 14:25:16 | Re : Objet "line" dans une userform

lermite222

Membre Club
J'ai bien une solution mais c'est assez compliqué et ca fait appel aux API, si ca t'intéresse tu dit.
mercredi 18 juin 2008 à 14:40:51 | Re : Objet "line" dans une userform

bentzwanaman

sans problème,
je suis interessé par toute solution,  je suis bloqué et il faut que j'avance...
merci
mercredi 18 juin 2008 à 22:52:34 | Re : Objet "line" dans une userform

lermite222

Membre Club

Pour le test ouvre un nouveau classeur et ajouter un UF

'Mode d'emploi...
'dans le module de feuille mettre
'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'    'activer un UC et dessiner dessus (trouver sont HDC)
'    UserForm1.Show
'End Sub

'2 modes, si la nouvelle sélection est A1 ou pas
'Sur la feuille sélectionner B1 pour mode 1
'Trace une ligne en suivant le déplacement de la souris.
'Sélectionner A1 pour mode 2
'Trace une ligne à partir d'un point central jusqu'a la position souris.
'Et efface la ligne précedante.

'Dans le module de l'UF1 mettre.....
Const PS_SOLID = 0
Private Type POINTAPI
  X As Long
  Y As Long
End Type
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, _
  ByVal X As Long, ByVal Y As Long, lpPoint As Any) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Byte
Private monhdc As Long
Dim Buff As Boolean
Dim TimeOnOFF As Boolean
Dim CurX As Integer, CurY As Integer
Dim ModeLigne As Boolean
Dim coul As Long

Private Sub UserForm_Activate()
    If ActiveCell.Address = "$A$1" Then
        CurX = Me.Width / 2
        CurY = Me.Height / 2
        coul = &H80C0FF
        Me.BackColor = coul
        ModeLigne = True
    End If
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Buff = True
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Not ModeLigne Then
        Do While monhdc = 0
            monhdc = GetForegroundWindow()
            monhdc = GetDC(monhdc)
        Loop
        If Button <> 1 Then Exit Sub
        hRPen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0))
        DeleteObject SelectObject(monhdc, hRPen)
        If Buff Then
            MoveToEx monhdc, X * 1.32, Y * 1.32, &H0
            Buff = False
        End If
        LineTo monhdc, X * 1.32, Y * 1.32
        DoEvents
    End If
End Sub


Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Static MX As Integer
Static MY As Integer
   
    If ModeLigne Then
        Do While monhdc = 0
            monhdc = GetForegroundWindow()
            monhdc = GetDC(monhdc)
        Loop
        If MX > 0 Then
            hRPen = CreatePen(PS_SOLID, 10, coul)
            DeleteObject SelectObject(monhdc, hRPen)
            MoveToEx monhdc, CurX * 1.32, CurY * 1.32, &H0
            LineTo monhdc, MX * 1.32, MY * 1.32
        End If
        hRPen = CreatePen(PS_SOLID, 6, RGB(0, 255, 0))
        DeleteObject SelectObject(monhdc, hRPen)
        MoveToEx monhdc, CurX * 1.32, CurY * 1.32, &H0
        LineTo monhdc, X * 1.32, Y * 1.32
    End If
    MX = X: MY = Y
End Sub

A toi de voir pour sélectionner les points X et Y
A+



Cette discussion est classée dans : objet, compteur, userform, line


Répondre à ce message

Sujets en rapport avec ce message

Incrémenter un compteur dans UserForm [ par antom ] Bonjour,Je travaille avec Excel 2003.J'ai un problème de compteur que je n'arrive pas à régler.Je dépose un fichier pour mieux expliquer le problème.P Cherche tuto ou codes pour Automation Powerpoint (Non visible) [ par VB23 ] Voila j'ai trouvé pleins de sources avec toutes les instances, creation de shapes, slides, tous ce qu'il fautle probleme c'est de les gere en non visi Taille d'objet et textbox [ par murilohungria ] Bonjour à tous,J'ai commence en VB et j'ai quelques soucis concernant les commandes. J'ai cherché presque tout l'après-midi et je n'ai pas trouvé de r Retrouver un objet dans une feuille excel ou un userform à partir de son nom [ par sofypop ] Bonjour,Je tombe sur l'instruction suivante :    ComboBoxListPF.AddItem ("Multi-funds 1")et souhaite savoir où se trouve ce combo box ?Il s'agit d'une compteur dans un userform urgent!! pour un examen [ par thibautcallens ] bonjour a tousj ai un examen demain et je dois être capable de mettre un compteur dans un userform (excel)il doit compter de 1 a 200 aider moi !!! mer "Erreur automation L'objet invoqué s'est déconnecté de ses clients" [ par sportsman320 ] Bonjour, Je suis face à une erreur que je ne parvient pas à résoudre. J'ai un userform qui s'affiche effectue la vérification d'une liste de noms et couleur d' un objet Line [ par patl76 ] Salut tout le monde les gens !!!Est ce qu' on peux changer la couleur d' un objet Line????Ds la propriete borderColor je ne trouve pas celle que ja ve [VBA] Ajouter un objet dans un userform en code [ par ripoux ] Bonjour a tous, Je pense que c'est surement une question pour n00b, mais bon j'aimerais en avoir le coeur net. Est-il possible d'ajouter un objet dan Menu dans un userform de vba... [ par djgarlick ] Bonjour à tous, j'aimerai insérer un menu dans un userform que j'ai crée....je ne vois pas trop comment faire et j'en ai besoin rapidement car je fais


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales