Bonjour à tous,
tout est dans le titre... J'aurais besoin de modifier dynamiquement la police de caractères utilisée pour afficher un hint (ainsi que le charset, pour afficher des caractères cyrilliques, russes, japonais, ...)
Une idée ?
Bonjour à tous,
tout est dans le titre... J'aurais besoin de modifier dynamiquement la police de caractères utilisée pour afficher un hint (ainsi que le charset, pour afficher des caractères cyrilliques, russes, japonais, ...)
Une idée ?
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
Trés facile
regardes ici, tu pouras t'en inspirer.
http://delphi.developpez.com/sources...no40source0028
pas de souci
ça marche pas mal comme truc, d'ailleurs merci beaucoup, mais j'ai un petit problème de scintillement avec ce hint personnalisé
en fait, je le met à jour dans la fonction "OnMouseMove" d'un de mes composants, et avec le hint original je n'ai pas de problème d'affichage tandis qu'avec celui-là ça scintille un max:
est-ce qu'il y a possibilité d'appliquer un "Machin.DoubleBuffered:=true" quelque part ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure OnMouseMove(Sender:TObject; Shift:TShiftState; X,Y:Integer); begin Hint:='quelque chose de dynamique'; Application.ActivateHint(Mouse.CursorPos); ...
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
ha bin je viens de trouver...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2DoubleBuffered:=true
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
Tout fonctionne maintenant... presque résolu
mais je ne sais pas comment récupérer l'instance de "TMonHint" qui est utilisée lors d'un affichage !
par exemple, j'aimerais changer la font du hint dynamiquement.... mais je n'arrive pas à récupérer de référence pointant sur le "TMonHint" utilisé, et donc je ne peux pas modifier la police...
Une idée ?
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
Est-ce qu'il faut modifier la fonte une fois le hint affiché ? Ou avant son affichage ?
Dans les deux cas tu peux mettre à jour une variable globale de type TFont pour garder la police à utiliser. Puis le mettre à nil lors de sa destruction.
S'il faut changer la police après le dessin, il faudra garder l'instance en cours dans un variable à la fin de Create du hint :
Il faudra ensuite créer un méthode pour redessiner le hint et l'appeler une fois la variable globale de type TFont mise à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Var DernierHint : TMonHint; Constructor TMonHint.Create(AOwner: TComponent); Begin Inherited Create(AOwner); // Create n'est surchargé que pour initialiser les variables FCreerRegion := False; DernierHint := Self; End; // le destructeur est à ajouter à la définition de la classe donnée dans mon source Destructor Destroy; Overrride; Begin DernierHint := Nil; Inherited; End;
ça roulle
merci à vous deux
"Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"
Confucius, 448 av. J-C
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager