Le Coin des AutoCADiens
Le site français des développeurs pour AutoCAD
Vous pourrez ici apprendre à programmer en Visual Basic pour AutoCAD.
|
ExplorAcad - Partie 2
|
|
|
Nota :
Par souci de simplification, les explications de ce programme ont été sectionnées en trois parties.
Les sections correspondent aux différentes versions :
- La partie 1, le code de la version 1, explique
- Comment choisir un fichier en VB.
- Comment créer les aperçus.
- Comment implémenter les protocoles pour Internet.
- Cette partie, le code de la version 2, explique comment mettre le programme en petite icône,
et comment y attacher un menu.
Le code ci-dessous est à rajouté au code de la version 1.
- La version 2.2 explique comment avoir des informations sur un fichier, etc ...
|
La version 2
|
Cette partie d'installer le programme "en tite icône" près de la pendule de Win 95.
Un clic permet d'ouvrir le programme, ensuite un autre clic sur le nouveau bouton
correspondant permet de le refermer à sa place.
En actionnant sur le bouton droit de la souris quand elle se trouve au-dessus de
l'icône, vous aurez accès à un petit menu.
VB5 ou VB6 - Non testé en VB4.
|
A rajouter sur la feuille ExplorAcad
|
Le bouton de commande 'Réduire en Icône'
Propriété (Name) : cmdIcon
|
Le petit menu de l'icône
|
Commencez par ouvrir le Créateur de menu (dans le menu déroulant outils).
Indiquez les valeurs de Name indiquées ci-dessous, sinon il faudra les changer
dans le code également.
Ligne Menu
Propriété Caption : Menu
Propriété Name : Menu
Bouton Enabled coché
Les autres boutons non cochés
Ligne &Agrandir
Propriété Caption : &Agrandir
Propriété Name : Agrandir
Bouton Enabled coché
Bouton Visible coché
Les autres boutons non cochés
Ligne - (trace une ligne de séparation)
Propriété Caption : -
Propriété Name : xx (une valeur quelconque)
Bouton Enabled coché
Bouton Visible coché
Les autres boutons non cochés
Ligne &Désactiver
Propriété Caption : &Désactiver
Propriété Name : Quitter
Bouton Enabled coché
Bouton Visible coché
Les autres boutons non cochés
|
Le code du module ExplorAcad.bas
|
Déclarations dans le Module1 (ExplorAcad.bas) |
Il nous faut une autre fonction API :
- Pour pouvoir mettre une icône dans la barre de menu on utilisera
la fonction API Shell_NotifyIcon.
Pour que cette fonction API puisse être employée, il faut qu'elle soit déclarée comme Private
dans la partie Général du module.
- L'instruction Type permet de déclarer les variables publiques personnalisées
utilisées par l'API Shell_NotifyIcon.
|
Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, pnid As IconeTray) As Boolean
Public Type IconeTray
cbSize As Long 'Taille de l'icône (en octets)
hWnd As Long 'Handle de la fenêtre chargée de recevoir les messages envoyés lors
' des évènements sur l'icône (clics, doubles-clics...)
uID As Long 'Identificateur de l'icône
uFlags As Long
uCallbackMessage As Long 'Messages à renvoyer
hIcon As Long 'Handle de l'icône
szTip As String * 64 'Texte à mettre dans la bulle d'aide
End Type
Public IconeT As IconeTray
' Constantes pour IconeTray
Public Const AJOUT = &H0
Public Const MODIF = &H1
Public Const SUPPRIME = &H2
Public Const MOUSEMOVE = &H200
Public Const MESSAGE = &H1
Public Const Icone = &H2
Public Const TIP = &H4
Public Const DOUBLE_CLICK_GAUCHE = &H203
Public Const BOUTON_GAUCHE_POUSSE = &H201
Public Const BOUTON_GAUCHE_LEVE = &H202
Public Const DOUBLE_CLICK_DROIT = &H206
Public Const BOUTON_DROIT_POUSSE = &H204
Public Const BOUTON_DROIT_LEVE = &H205
|
Le code à modifier dans Form1
|
Procédure Sub DwgVignette1_Click() |
- Les deux premières lignes sont à rajouter :
Quand on a cliqué sur la vignette du dessin
pour l'ouvrir, la fenêtre d'ExplorAcad est fermée et l'icône est alors placée dans la barre de
menus, avand de lancer AutoCAD.
|
Private Sub DwgVignette1_Click()
Me.Hide ' << nouveau
Shell_NotifyIcon AJOUT, IconeT ' << nouveau
R& = ShellExecute(Me.hWnd, vbNullString, Fichier, vbNullString, Chemin, 1)
If R& = 31 Then
MsgBox "Ni AutoCAD ni LT ne sont associés aux fichiers .dwg !", _
vbInformation, "Absence d'association de fichier"
End If
End Sub
|
Le code à rajouter dans Form1
|
Procédures nécessaires pour la gestion de l'icône |
- Les procédures sont annotées dans le source.
|
Private Sub Form_Load()
' Cette procédure s'exécute au chargement de la forme.
'Préparation de la variable IconeT
IconeT.cbSize = Len(IconeT) 'Taille de l'icône en octet
IconeT.hWnd = Me.hWnd 'Handle d'ExplorAcad (pour qu'il reçoive les messages
'envoyés lors d'un clic, double-clic...
IconeT.uID = 1& 'Identificateur de l'icône
IconeT.uFlags = Icone Or TIP Or MESSAGE
IconeT.uCallbackMessage = MOUSEMOVE 'Renvoie messages concernant action souris
IconeT.hIcon = Form1.Icon 'Met en icône l'image qui est dans "Form1"
IconeT.szTip = "ExplorAcad" & Chr$(0) 'Texte de la bulle d'aide
' Les 2 lignes suivantes permettent de mettre ExplorAcad en icône au chargement.
' à supprimer si vous désirez que l'application reste ouverte au démarrage.
Me.Hide
Shell_NotifyIcon AJOUT, IconeT
End Sub
Private Sub RestaurIcone()
' Ouverture d'ExplorAcad quand on clique sur l'icône.
Form1.Show
IconeT.cbSize = Len(IconeT)
IconeT.hWnd = Me.hWnd
IconeT.uID = 1&
Shell_NotifyIcon SUPPRIME, IconeT
End Sub
Private Sub Agrandir_Click()
' Procédure du menu Agrandir de l'Icône
RestaurIcone
End Sub
Private Sub cmdIcon_Click()
' Procédure de la commande Réduire en Icône
Me.Hide
Shell_NotifyIcon AJOUT, IconeT
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' Procédure de gestion de la souris sur l'icône
msg = X / Screen.TwipsPerPixelX
If rec = False Then
rec = True
Select Case msg
Case DOUBLE_CLICK_GAUCHE
RestaurIcone
Case BOUTON_DROIT_LEVE
PopupMenu Menu, , , , Agrandir ' menu de form1 (avec sous-menu agrandir)
End Select
rec = False
End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
' Procédure quand on clique sur le bouton de fermeture de l'application
IconeT.cbSize = Len(IconeT)
IconeT.hWnd = Me.hWnd
IconeT.uID = 1&
Shell_NotifyIcon SUPPRIME, IconeT
End Sub
Private Sub Quitter_click()
' Procédure du menu Désactiver de l'Icône
Unload Me
End Sub
|
Récapitulatif du code
|
La partie 1 - Comment choisir un fichier en VB, comment créer les aperçus,
comment implémenter les protocoles pour Internet.
La partie 2 - Comment placer le programme en 'tite icône', comment attacher un menu à la 'tite icône'.
La partie 3 - Comment récupérer les informations sur un fichier, comment placer un fichier dans la corbeille.
La partie 4 - Comment afficher les clichés AutoCAD en VB, comment lire la liste des clichés d'une bibliothèque.
Le code d'Exploracad - Partie 3
|
© 1998 - 2009 FASOFT - Roger Rosec Tous droits réservés.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|