Controle OCX ! (2)

Résolu
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 - 8 sept. 2005 à 14:22
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 8 sept. 2005 à 17:17
Bonjour à toutes et à tous !

J'ai enfin réussi à créer un petit contrôle de rien du tout !
Mais (car il y a toujours un Mais) j'aimerais l'améliorer encore ce contrôle !
Actuellement mon contrôle consiste juste en une PictureBox avec des données, propriétés et événements en plus. J'aimerais y ajouter une 'page de propriété' !
En fait je voudrais qu'une zone (Form ou Frame) apparaissent lorsque je clique sur le contrôle avec le bouton droit de la souris.

Est-ce que quelqu'un sait comment je pourrais faire ce genre de chose ?

Faut-il créer un autre contrôle ? => Ca m'arrangerait pas
Ou peut-on mettre les 2 éléments sur le même ?? => Celle la me plairait plus !

Par avance merci !

Olivier

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 17:17
ok oui je crois comprendre....
mais plus simplement, pourquoi tu ne mets pas tes contrôles (ceux que tu aurais besoin en rapport avec ton UserControl) dans une PictureBox, qui elle même est invisible et est dans la 2ème PictureBox de ta feuille MDI

comme çà, dans ton usercontrol :




Dim mButton As Integer
Public Event RightClick()
'
'
Private Sub Picture1_Click()
If mButton = 2 Then RaiseEvent RightClick
End Sub
'
'
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
mButton = Button
End Sub


<SMALL> Coloration syntaxique automatique [AFCK] </SMALL>


et dans ta MDI :




Private Sub MDIForm_Load()
Pic_UC.Visible = False
End Sub
'
'
Private Sub UserControl11_RightClick()
Pic_UC.Visible = True
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


enfin, je sais pas, mais çà me parraît beaucoup plus simple

sinon, il faut créer la Form comme je te l'ai dis, puis l'attacher dans ta 2e Picture avec l'API SetParent, ce qui me semble inutile...

en l'attente,
PCPT
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 14:48
salut,
tu veux quoi exactement. une page de propriété? pour que le développeur configure ton contrôle ?
ou une page particulière pour l'utilisateur...
PCPT
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
8 sept. 2005 à 14:53
Salut PCPT,

Ce serait plus une page pour l'utilisateur qui s'afficherait !

Genre 'Clic droit' sur le contrôle et la page s'affiche avec (par exemple) Copier Coller etc.

Merci

Olivier
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 15:05
re,
tu peux créer une Form dans ton contrôle.
le plus propre, pour la création, est que tu crées ton contrôle séparément (pas un UserControl dans un Projet classique).
ensuite, un groupe de projet avec ton UserControl dans l'un, et ta Form test dans l'autre.

(juste au cas où tu aurais fait différemment)
donc dans ton contrôle (projet), tu ajoutes une Form, avec le code dont tu as besoin, etc....
et dans l'évènement de ton UserControl, sur le click droit, ou là ou tu veux, tu appelles cette Form, comme une Form classique...
(Form_Mon_Control.Show, VbModal)

si ce n'est qu'un menu, tu peux le créer dans le UserControl (comme une Form) et l'appeler par
PopUpMenu NOM_DE_TON_MENU

voilà
PCPT
0

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

Posez votre question
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
8 sept. 2005 à 15:16
Salut PCPT,

J'avais déjà réalisé à peu près la même chose mais ce n'est pas tout à fait ce que je souhaite !
En effet mon projet principal est constitué de feuille MDI et donc lorsque les feuilles 'filles' s'affichent elles ont un 'Container' et c'est précisément ce qui manque dans une feuille normale. Et comme on ne peut pas ajouter de feuille MDI dans un contrôle ActiveX j'avais pensé à un contrôle avec une 'Form' ou une 'Frame' qui possède la propriété 'Container' !

Est-ce que ce genre de chose est possible ?

Est-ce que je m'explique clairement ?

Merci

Olivier
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2005 à 15:28
nan, pas trop....
t'as déjà mis une Picture Box dans ton UserControl. il a donc aussi un Container.
et pour qu'il le soit lui-même, tu peux passer sa propriété ControlContainer à True.

ou tu peux aussi.... refomuler
PCPT
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
8 sept. 2005 à 16:00
Salut PCPT,

Je vais essayer de reformuler d'une façon claire parce que j'ai un peu du mal !

J'ai un programme principal avec une feuille 'mère' divisée en 2 zones (définies par des PictureBox) ' On coupe l'écran en 2 !

Lorsqu'on clique sur le contrôle ActiveX représentée dans la zone 1 avec le PictureBox qui le compose (avec le bouton droit de la souris), j'aimerais que dans la zone 2 s'affiche la feuille de propriété (utilisateur et non développeur) et que ce 2ème bout de contrôle ActiveX soit lié à la feuille MDI 'mère' !
Comme ça si je déplace la feuille principale de mon programme toute les autres feuilles se déplacent en même temps et surtout elles ne disparaissent pas derrière la feuille 'mère' !

Voilà !

J'espère que c'est mieux expliqué (voir image ci dessous) !

Olivier
0
Rejoignez-nous