(vb .net) Comment ajouter des objets (bouton...) une fois le prog compilé

cs_et1 Messages postés 250 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 27 janvier 2011 - 31 août 2005 à 17:08
scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 - 4 sept. 2005 à 21:16
Bonjour.
Je travaille avec VB .NET 2003

Je voudrais pouvoir ajouter des objets (boutons, labels) dans une form de mon programme une fois celui-ci compilé.

Explication :
Je voudrais que l'utilisateur puisse ajouter les objet dans une zone précise de la form et qu'il puissent les déplacer et les agrandir/réduir.

J'aimerais que l'on puissent les déplacer et le agrandir (en cliquant sur l'un des 8 petits carrés autour le lui quand on cliquera dessus)

En fait, je voudrais donc que cela fasse comme dans vb .net quand on ajoute les objets dans la form, lorsque nous créons nos progs.

Il faudrais aussi que l'on puisse modifier le texte, leur police, couleurs...

(Je sais, c'est peut pas très clair et précis mais c'est pas facile à expliquer...)

Connaissez-vous une méthode ou un composant windows form pour faire ça ?

Merci d'avance, ET1

12 réponses

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
31 août 2005 à 17:21
Salut,



Pour ajouter un control, rien de plus simple

Dim btn as Button

btn = new Button()

btn.Top = 10

btn.Left = 10

MaForm.Controls.Add(btn)



Par contre, la manipulation des propriétés, c'est du scripting complet
d'appli que tu veux faire à la façon des macros VBA sous office.
Largement plus poilu comme truc. Je te conseil de rechercher un
composant/bibliotèque de scripting d'appli.



Chris

N'oubliez pas de cloturer votre post.
0
scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 1
31 août 2005 à 18:52
Hello, pour déplacer les composants, tu peux utiliser deux API :


Private
Declare
Function ReleaseCapture
Lib "User32" ()
As
Boolean



Private
Declare
Sub SendMessage
Lib "User32"
Alias "SendMessageA" (
ByVal hWnd
As IntPtr,
ByVal wMsg
As
Integer,
ByVal wParam
As
Integer,
ByVal lParam
As Int16)



Private
Const HTCAPTION = &H2



Private
Const WM_NCLBUTTONDOWN = &HA1

Ensuite, sur le mousedown du composant, tu fais simplement :


ReleaseCapture()


SendMessage(Button3.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)

Voilà, sinon le changement de bouton, de taille, etc, etc, bah faut le coder, ou trouver un composant qui le fait déjà.

Voilà, sinon, je ne sais pas comment faire pour appeler la methode "mouseDown" d'un composant qui n'existe pas sur la form avant qu'il soit ajouté par l'utilisateur. Si tu as une idée, ça m'interesse !

Quoiqu'il en soit, Bon courage !!

Seb.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
31 août 2005 à 22:31
Salut, utilises une PropertyGrid et sa propriété SelectedObject et la tu vas découvrir toute la puissance de ce composant : )
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
31 août 2005 à 22:45
Pour ce qui est de déplacer un contrôle avec "des petites poignées" : ( en C# ) http://www.csharp.fr/code.aspx?ID=33215
0

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

Posez votre question
cs_et1 Messages postés 250 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 27 janvier 2011 10
1 sept. 2005 à 11:49
Merci à tous,
J'aissais tous ça cet après midi et je vous envois des nouvelles.
ET1 - [mailto:et1.vb@hotmail.fr et1.vb@hotmail.fr]
0
cs_et1 Messages postés 250 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 27 janvier 2011 10
2 sept. 2005 à 08:35
Bonjour,

Pour déplacer les boutons, textbox et picturebox, l'api de 6080 scortex84 marche très bien. Mais le problème, c'est que cela ne fonctionne pas pour les labels !

== > Que faut-il ajouter/modifier pour que l'api de scortex84 fonctionne pour déplacer les labels ?

=> Sinon, comment sa fonctionne PropertyGrid ?

Je n'ai pas de code pour agrandir les objets (labels compris)

> Avez vous un code pour afficher les 8 petits carrés lorsque l'on clique sur l'objet, afin de pouvoir l'agrandir/diminuer ?

Merci,
ET1 - et1.vb@hotmail.fr
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 sept. 2005 à 16:08
Bon bha la PropertyGrid c'est un contrôle comme un autre, on peut le programmer par attribut avec des TypesConverters etc.. mais tu n'auras pas besoin de ca je pense, il te suffit de mettre la PropertyGrid sur ta forme et ( pour le test ) passer la référence de ta forme principale à la propriété SelectedObject.

je me souviens plus si la PropertyGrid est visible dans VS2003 ou si elle est cachée, si c'est le cas faut l'ajouter dans tes outils.

Pour ce qui est des "petites poignées" pour déplacer un contrôle as tu regardé le code en C# que j'ai indiqué !? Je précise que le C# c'est du .NET donc une fois compilé tu peux l'utiliser en VB.NET.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 sept. 2005 à 16:51
La PropertyGrid est un contrôle comme un autre, tu la dépose sur ta forme et ( pour le test ) tu passes la référence de ta forme principale à la propriété SelectedObject.

Je ne me souviens plus si dans VS2003 la PropertyGrid est cachée ou pas, si c'est le cas il faut que tu l'ajoutes à tes outils.

Pour ce qui est "des petites poignées" as tu regardé le code en C# que j'ai indiqué plus haut, je présise que le C# c'est aussi du .NET, soit tu t'en inspire soit tu le compiles et tu pourras l'utiliser directement en VB.NET.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 sept. 2005 à 16:54
lol ! J'ai été trahi par le rafraîchissement de la page ! : )
0
cs_et1 Messages postés 250 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 27 janvier 2011 10
2 sept. 2005 à 17:17
D'accord, merci.
0
cs_et1 Messages postés 250 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 27 janvier 2011 10
4 sept. 2005 à 15:40
scortex84, comment faut faire pour que ça marche avec les labels ?
Merci.
0
scortex84 Messages postés 379 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 avril 2011 1
4 sept. 2005 à 21:16
Je ne sais pas, essaye avec un autre composant ?... Mais g po d'idée.

Désolé,

Seb.
0
Rejoignez-nous