|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() |
Bonjour à tous,
Je cherche à afficher une image réduite dans un Hint. J'ai à l'origine une image PNG que je réduis dans une image BMP. J'obtiens l'erreur EConvertError "Impossible d'affecter TBitmap à TControlCanvas" dans mon vtGetHintSize. Et même si je vire la ligne qui pose probleme (en gras dans le code), j'obtiens la meme erreur dans le vtDrawHint. Quelqu'un peut-il m'aider ? D'avance merci Code :
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 7 852 ![]() |
J'ai aussi refait le Hint pour remplacer le texte par du HTML et aussi avoir un hint sur un composant en enabled à false, je laisse imaginer le mécanisme intrusif que cela peu amener ... et j'ai ajouté dans le hint des boutons images car j'ai fait ma propre classe mais pas dérivée de HintWindow (je conserve la standard pour le hint sur les menus et le debug puisque le hint standard affiche le code HTML du Hint HTML qui affiche le Formatage
)Donc, j'écrirais plutôt Code :
THintWindow.Create(TVirtualDrawTree(Sender)).Canvas.CopyRect(Rect(0, 0, ..., ...,), aBMP.Canvas, Rect(0, 0, ..., ...,) );
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Parisien ! Dites NON à la VO ST au Cinéma ! Soit VF Soit VO sans sous-titre |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
Bonjour,
Pourrais-tu me donner un peu plus de détails car je ne sais pas ce que je dois faire avec ta ligne ? Dois-je l'affecter comme ceci : Code :
Canvas.Handle:= THintWindow.Create(TVirtualDrawTree(Sender)).Canvas.CopyRect(R, aBMP.Canvas, R ); Mais le type attend un HDC donc est-ce que cette ligne est complête ? Merci pour ton aide. Dans l'attente de te lire |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 7 852 ![]() |
Je n'ai pas fait d'affectation mais un appel de la méthode CopyRect qui recopie le dessin contenu dans aBMP.Canvas vers le HintWindow.Canvas ... j'ignore si cela fonction, mais en tout cas entre BMP.Canvas vers Icon.Canvas cela va parfaitement ...
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Parisien ! Dites NON à la VO ST au Cinéma ! Soit VF Soit VO sans sous-titre |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
Désolé cela ne semble pas fonctionner mais il est fort probable que je n'ai pas tout saisie dans ce que tu me dis.
D'autres idées ?
|
|
|
00
|
|
|
#6 | ||
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Si cela peut te donner des idées voiçi un bout de code qui permet d'insérer un Bmp dans un Hint (mais sans modifier la police de caractères) :
Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 484 ![]() |
Je voulais aussi vous signaler qu'il existe un composant Jedi (JvBalloonHint) qui permet, entre autre, d'afficher un bmp dans un hint.
|
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
Bonjour à toutes et à tous,
Je sais que ce topic date, mais c'est toujours interessant de comprendre plus loin ce code ! @ Gilbert Geyer, petite question, avec ton astuce, peut on définir la hauteur et largeur du hint par exemple 64x48 qui sont les dimensions de ma photo. En te remerciant, @+, Cincap |
|
|
00
|
|
|
#9 | |||
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Bonjour,
A Cincap : Citation:
Code :
A+. |
|||
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
@ Gilbert Geyer, bonsoir, c'est complètement génial, j'avais une autre source beaucoup plus volumineuse à mettre en oeuvre.
J'avais aussi fait plus simple (faux hint !) en affichant un Tpanel contenant un Timage qui affichait un jpg créé provisoirement uniquement au survol du Tbutton et en revenant sur le Tform, le Tpanel n'était plus visible. Merci encore pour cette solution et ton aide. Edit : cela fonctionne aussi avec un Jpg, c'est génial. @+, Cincap |
|
|
00
|
|
|
#11 | ||
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
Bonjour à toutes et à tous,
Pour ceux que cela intéresse on ne sait jamais, pour mon usage personnel, je devais charger une image Jpg de 640 x 480 créée temporairement à l'exécution de la fiche afin de faire un test d'envoi par Email avec attache. Et sur le bouton de test, afficher un hint avec cette image mais avec forcément un resize. J'ai donc remanié l'excellent code de Gilbert G. pour le faire. Code :
Cincap |
||
|
|
00
|
|
|
#12 | |||
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Bonjour,
A Cincap : Citation:
Code :
|
|||
|
|
10
|
|
|
#13 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
Bonsoir,
@ Gilbert Geyer, j'ai testé ta fonction pour les différents formats, j'ai bien le cadre du hint avec les dimensions correctes mais vide (sans image). Je suppose que j'utilise mal ta fonction, au départ dans mon cas, je charge un Jpg de 640x480. @+, Cincap |
|
|
00
|
|
|
#14 | |||
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Bonjour,
A Cincap : Citation:
Code :
A+. |
|||
|
|
10
|
|
|
#15 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
Bonjour à toutes et à tous,
@ Gilbert Geyer, en effet tu as raison, j'avais d'abord testé avec : Sans succès alors que j'aurai du faire : Puisque c'était mon TBitmap temporaire. Par contre et c'est normal avec ta solution, dans mon cas bien précis, j'avais besoin d'avoir un hint avec image sur un seul Tbutton celui de test et pas sur les autres Tbutton qui sont sur la fiche. Pense tu qu'il y aurait moyen de différencier les Tbutton soit par la propriété Tag ? J'ai testé pas mal de solutions sans succès. Encore merci pour cette excellente solution. @+, Cincap |
|
|
00
|
|
|
#16 | |||
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Re-bonjour,
A Cincap : Citation:
Code :
sur la procedure TForm1.SpeedButton1MouseMove. A+. |
|||
|
|
00
|
|
|
#17 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
@ Gilbert Geyer, formidable !
Cela correspond à mes attentes, ce code est à garder précieusement. Merci de ton aide précieuse à tous et de tes explications. @+, Cincap |
|
|
10
|
|
|
#18 |
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Re-Bonjour,
De rien, ce fût un plaisir. A+. |
|
|
10
|
|
|
#19 | ||
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 1 197 ![]() |
Bonsoir à toutes et à tous,
Dans le déroulement de ce topic, j'avais parlé d'utiliser un effet de hint sur un TButton avec un TPanel (p1), un TImage (hint1) propriété "Stretch" à true et un TButton (Bexit). Code :
@+, Cincap |
||
|
|
10
|
|
|
#20 |
![]() ![]() Ingénieur retraité Inscription : octobre 2005 Messages : 1 813 ![]() |
Bonjour,
C'est effectivement une parade très simple. A+. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com