Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Objet "line" dans une userform [ Divers / Débutants ] (bentzwanaman)

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é 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 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 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 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 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 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 Comment inserer un objet [ par petiflamand ] Salut je voudrais savoir comment je peu faire pour faire une simple diode commesur un hddonc faire un rond (qui represente la diode) et faire qu'elle


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.