Création d'OCX ??

guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 - 24 nov. 2004 à 10:03
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 24 nov. 2004 à 16:40
Bonjour à tous !

Je viens de consulter le tutoriel pour la création d'OCX et il me reste quelques questions !

Lorsque je crée un Contrôle et que je l'insère dans un projet je peux définir ces propriétés mais (car il y a toujours un mais) pour les événèments que l'on a rajoutés dans le contrôle il n'y a pas de descriptif et j'aimerai pouvoir proposer un choix dans une combobox inclue dans les propriétés comme pour l'événement Alignement du contrôle Label :
0 - Left justify
1 - Right justify
2 - Center

et que la description soit présente :
Alignement
Renvoie ou définit l'alignement d'un contrôle CheckBox ou OptionButton ou le texte d'un contrôle

Comment puis-je réaliser ce genre de chose ???

Par avance merci !

Olivier

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 nov. 2004 à 10:35
Il ne s'agit pas d'événement, mais bel et bien de propriétés.

Pour définir le descriptif de chaque propriété, il faut faire : clic sur le menu Outils/Attributs de procédure, Sélectionne alors le nom de la propriété dont tu veux définir le descriptif, et remplit le textbox Description.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
24 nov. 2004 à 15:11
Merci DarK Sidious,

J 'ai enfin compris comment faire pour mettre un descriptif pour une propriété !

Cependant est-il possible pour cette même propriété de faire une boite de liste évitant ainsi que l'utilisateur inscrive n'importe quoi, comme pour le contrôle Label et sa propriété :
Alignement
0 - Left justify
1 - Right justify
2 - Center

Par avance merci !

Olivier
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 nov. 2004 à 15:14
C'est tout à fait possible si tu mets une énumération comme type de données. Par exemple :

Public Enum enmAlignment
[AlignmentLeft] = 0
[AlignmentRight] = 1
[AlignmentCenter] = 2
End Enum

Public property Get Alignment() As enmAlignment

'etc.

Public Property Let (iAlignment As enmAlignment]

'etc.

Note : il existe déjà des énumérations pour l'alignment : AlignmentContants il me semble.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
24 nov. 2004 à 16:14
J'ai écris le code suivant :

Public Enum enmDirection
[HAUT] = 0
[GAUCHE] = 1
[DROITE] = 2
[BAS] = 3
End Enum

puis :

Public Property Get Direction() As enmDirection
Set Direction = Dtext .Direction
End Property

Public Property Let Direction(iDirection As enmDirection)
Set Dtext.Direction = New_Direction
PropertyChanged "Direction "
End Property

Lorsque je compile il se bloque sur la partie en Gras et me marque le message suivant :

Erreur de compilation :
Méthode ou membre de données introuvable !

J'ai récupérer la base de ce programme sur la partie Tutoriel du site pour la création d'un contrôle permettant le défilement de texte dans toutes les directions !

Que dois-je faire à part me flinguer :question)

Olivier
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 nov. 2004 à 16:40
Pas besoin d'utiliser des moyens aussi totalitaires, le suicide n'est pas la solution ;)

Il suffit juste d'enlever tes set, et les remplacer par des let :

Public Property Get Direction() As enmDirection
Let Direction = Dtext.Direction
End Property

Public Property Let Direction(iDirection As enmDirection)
Let Dtext.Direction = New_Direction
PropertyChanged "Direction "
End Property

En effet, une énumération n'est pas un objet, mais une variable entière, donc pas besoin de Set pour faire l'affectation !
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous