jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 janv. 2007 à 13:32
1) que veux dire dessus pour toi ? : par-dessus ou dedans ?
2) sans le code de cet Ocx, ma foi... je ne vois pas comment on pourrait deviner où est la maladresse ...
3) un ocx qui ne serait qu'un contrôle Shape, ma foi.... me laisse quelque peu perplexe !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 janv. 2007 à 13:32
Le plus simple reste de dessiner tes shapes "à la main" par code, et du y imprime ton texte directement dans le usercontrol, ca bouffera moins de ressources pour rien
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 13:50
lol jm, tu te poses trop de question ma foi.
Ya pas de maladresse dans le code, vu qyen a pas
Je pense qu'il doit y avoir une option ou un truc à faire que je ne connais pas
C pourquoi je pose la question...
Qd je dis dessus c par dessus, c posé dessus sans en faire partie, c... je sais pas, pas comme une frame, ça te suffit comme description?
voici mon code, qd je dis que c simple, c juste pour ne pas à avoir à faire des copier coller sans arrêt des 2 shapes
Option Explicit
Event Resize()
Private Sub UserControl_Resize()
Shape1.width = Usercontrol.width
Shape2.width = Usercontrol.width
RaiseEvent Resize
End Sub
Dark, si je fais ça, c justement pour pas me saouler à écrire du code ou faire des copier coller
Ca prend peut être un peu de erssource, mais bon, ça va...
J'ai plus qu'à faire des ocx de label pour pouvoir écrire dessus lol
Merci de votre aide qd mm les gars...
TBBUIM
Vous n’avez pas trouvé la réponse que vous recherchez ?
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 14:03
Enfin un gars sérieux qui sait lire et qui comprend le français
J'avais vu qu'yavait un pb qu'avec les labels
Et je me demandais juste pourquoi et/ou sinon comment faire pour écrire dessus
Merci bcp EB
TBBUIM
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 14:22
lol, ouais ouais, je sais, je sais, mais c pas si lent que ça
Avec les Proc et CG de malades qui sont de plus en plus présentes
J'pense qu'on peut se le permettre, non? ^o)
Pour ma part, je ne vois pas de ralentissement notable
Et je ne suis pas de ceux qui disent que VB est lent
PS:
Qui sait qui est chaud pour nous faire un addin permettant de faire un undo sur le mouvement d'un control en mode création?
EB? allez, jte sens en forme, tu t'ennuis, à faire tes jeux
Merci d'y penser
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 janv. 2007 à 14:42
Tu peux toujours locker les contrôles une fois que tu leur a donné leur position finale, ca évite justement de les déplacer par mégarde.
C'est sûr, sur un petit prog, faire ce genre de chose n'apportera pas forcément de ralentissements perceptibles, mais c'est une mauvaise habitude de dire : avec les processeurs de maintenant, on est à l'aise, on peut consommer du CPU (ou de la mémoire) sans faire gaffe ! Car c'est au moment où l'on se rend compte que son prog rame qu'on se dit, à ben zut alors, comme ca se fait qu'il prend 50 Mo en mémoire, et qu'il rame autant ?
vb est un langage rapide si on sais l'utiliser comme il faut, mais il permet tellement de chose qu'on en profite tous (moi le premier) pour coder avec les pieds, et bouffer des ressources sans faire gaffe !
Surtout que dans ton cas, c'est vraiment pas sorcier de mettre une dizaine de propriétés, et quelques lignes de codes dans l'événement paint de ton usercontrol afin qu'il ai toutes les propriétés de deux shapes avec un label dessus.
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 16 janv. 2007 à 14:46
Dark à raison si c'est juste une question de design le mieu est de dessiner ton controle a la "main" un print + un line au moment du resize et voila. Bon apres chacun fait ce qu'il veux :p
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 15:11
Exact, Dark à raison (cf: "...ouais ouais je sais je sais...")
Mais ce n'est pas juste pour le design
C'est surtout pour ne pas à avoir à le faire à la main à chaque fois
TBBUIM
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 16 janv. 2007 à 15:25
D'autant que si je m'en tiens au tout premier message, cet ocx ne serait rien d'autre qu'une "Shape" !!!!!
Nom de nom !
Une simple sous-routine avec des paramètres qu'on lui envoie.... et l'ulilisation de line avec B et au besoin F ... et la voilà dessinée à la demande, à peu de frais, sa "Shape" !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 janv. 2007 à 15:28
mais rien ne t'empêche de la mettre dans un usercontrol justement ce code là, et ainsi tu mets tes "shapes et labels" (ton usercontrol en fait) là où tu veux et le nombre de fois que tu veux, mais ce sera plus efficace (et apparement plus simple) de le faire par code au lieu de mettre deux shapes et un label dans ton usercontrol directement. En plus l'avantage de le faire par code : tu peux le personnaliser à volonté (couleurs, polices, effet 3D, clignottement, explosion, bombe nucléaire, météorite qui s'écrase) en lui ajoutant les propriétés que tu veux.
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 15:36
Et comment changer la couleur de fond du shape dessiné par line?
De plus, j'ai rajouté des propriétés (GET et LET) au ctl pour que je puisse paramétrer la fontname, size, color, ainsi que la couleur de fond du shape. Je vois tout ce que j'ai rajouté en mode création dans les propriétés du control.
Donc je peux maintenant tout paramétrer sans écrire une seule ligne de code.
Donc je ne vois pas trop où vous voulez en venir...
Auriez-vous un exemple?
TB BUIM
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 janv. 2007 à 16:32
C'est pourtant pas compliqué :
Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight), vbRed, BF
Me.CurrentX = 10
Me.CurrentY = 10
Me.Print "toto"
Tu n'a plus qu'à remplacer le vbRed par ta couleur de fond, le toto par le caption de ton label, etc.
Si tu veux faire des formes plus complexes : Me.circle ou les API Windows (roundrect par exemple)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 16 janv. 2007 à 16:34
Note : si tu as fait les property get/set (avec les writeproperties qui s'imposent...), alors tu as fait 95% du travail ! Il te reste plus qu'à faire les 5% qui consiste à écrire le code pour l'événement paint... ca serait bête de s'arrêter en si bon chemin ! (cf le code que je t'ai donné plus haut)
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 16 janv. 2007 à 18:44
Ok c'est fait. Merci de votre aide les gars. :D
Pour en revenir à l'addin:
c vrai qu'on peut verrouiller, mais quand on est en train de créer une form, le moindre petit drag'n'drop de travers et on est bon pour replacer pas mal de controles des fois :s
Je me demande bien pourquoi VB6 ne permet pas l'undo du déplacement.
M'enfin, si vous avez le temps, je sais que ce serait une très bonne source, super utile à tout le monde :p
Pour ma part, je n'ai pas encore le niveau et surtout le courage de m'y ateler, sinon, jl'aurais déjà mis sur VBFrance ;) @+
Tu n'auras pas été sans remarquer que les sources déposées par les plus "avertis" ne sont pas là pour permettre la mise en oeuvre de fantaisies ni pour "faire dans la dentelle".
Tu auras (je l'espère) constaté que ces sources ciblaient de véritables besoins partagés par un ensemble......
Il est vrai que certains ont des besoins curieux et qu'ils espèrent que les "avertis" se prêteront à leur jeu... Ils l'espèrent car, à la fois,
- ils "vagabondent" un peu partout (sans jamais créer et vouloir eux-mêmes créer... décrétant bien volontiers qu'ils ne créent pas car ils ne savent pas le faire eux-mêmes... mais en ajoutant que, par contre : ils ont EUX d'excellentes idées qu'ils "mettent gracieusement" à la disposition d'autres - les idées uniquement, bien entendu -, afin que d'autres se précipitent sur ces magnifiques idées pour les mettre en oeuvre ...!)
- ils ne possèdent pas les "attributs" nécessaires pour se lancer dans LEUR aventure
La question qui se pose à toi, =55855 tbbuim1 , est donc celle-ci :
crois-tu vraiment que les "avertis" ont envie d'être de simples mercenaires ? Ne crois-tu pas qu'ils le sont à ce point (avertis), qu'ils refusent quant à eux de "sautiller" de n'importe quelle manière sur le jeu de marelle qui aurait été tracé par un "non averti" ?
Relis donc Monsieur de La Fontaine (je te conseille "la mouche du coche")