Salut,
j'ai un richedit et je souhaiterai modifier la couleur des scrollbars, est ce possible de changer ce gris par default par une couleur plus sympa?
Salut,
j'ai un richedit et je souhaiterai modifier la couleur des scrollbars, est ce possible de changer ce gris par default par une couleur plus sympa?
Salut!
Perso, j'ai été obligé de la dessiner moi-même...
Du coups, j'utilise maintenant que des bitmaps pour mes objets dans mes appli.
Je tiens à pouvoir modifier l'apparence de ces objets.
Exemple avec ce programme (ScrollBar, Checkbox et TrackBar sont des bitmaps) :
http://sub0.developpez.com/delphi/exe/TableB5.zip
à+
c'est quoi ce programme ?
si c'est pour voir sur un exe, c'est pas trop ma demande mais savoir comment s'y prendre ?
Je t'ai donné un éxé car je n'ai que ça sous la main. Et puis à toi de voir si cette méthode peut te convenir...
Simple : Dessiner des bitmaps des objets à reproduire et programmer soi-même les évènements.Envoyé par reg11
![]()
J'ai fait pour une fiche un jpg en fond :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // chargement interface fiche form1.clientWidth:=848; form1.clientheight:=646; Bipm := TJpegImage.Create; Bipm.LoadFromFile('4.jpg');Mais là avec mon scrollbar de mon richedit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Draw(0,0,Bipm); Canvas.StretchDraw(ClientRect, Bipm); end;
soyez indulgent, ca fait 2 semaines de prise en main de delphi![]()
Je vais dormir un peu, je pourrais t'aider demain soir en revenant du boulot...
à+
Bonjour à tous, j'ai jeter un coup d'oeil rapide sur le MSDN et je pense que si tu souhaite seulement changer la couleur de fond de ta scrollbar, ça devrait etre possible en utilisant le message WM_CTLCOLORSCROLLBAR.
Merci lil_jam63,
je vois beaucoup de personnes utilisant api windows dans ses projets delphi, là en effet ca l'air de correspondre à ce que je cherche mais comment l'implanter, l'appeler et l'appliquer à ma scrollbar ?
personne pour me repondre au niveau api windows ?
Ca ma parait important de comprendre comment implanter des fonctions de windows![]()
Il faut utiliser l'api sendmessage avec le msg WM_CTLCOLORSCROLLBAR et les paramtres indiqué dans le MSDN, il doit avoir des exemples dans la faq.
Mais concrètement ?
Sur l'exemple des scrollbars, ca donnerai quoi ?
Fais un scrollbar.Perform(WM_CTLCOLORSCROLLBAR, ?, ?) avec les parametres de WM_CTLCOLORSCROLLBAR qui vont bien (cf. msdn, lien donné plus haut) et regarde l'aide sur Perform pour voir quel est l'ordre des parametres.
Thanks, Bon je vais tester avec perform, et je vous dis cela![]()
J'ai déjà essayé de refaire ma propre ScrollBar d'un RichEdit mais j'ai un problème pour la dimensionner et la déplacer proportionnellement au contenu du RichEdit.Envoyé par Sub0
Quel algo as-tu utilisé ?
:
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
J'ai utilisé un TPanel je crois pour dessiner la barre (= conteneur des images) et la propriété Anchors pour ajuster la hauteur de celle-ci. 2 images pour le bouton du haut et 2 images pour celui du bas (bouton actionné et au repos) et une autre image pour le curserur. La position du bouton du bas est également redéfinie avec Anchors... Quand au curseur, il conserve sa hauteur dans ma scrollbar. Je calcule la position "Top" du curseur avec le rapport "hauteur de la scrollbar / contenu du document à scroller"... Je code les évènements de la souris, de la molette, du clavier et l'accélération du déplacement répété avec un Timer...
je pige pasEnvoyé par cpdump
![]()
mess est egal à 0, est-ce normal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 with form1.Frame31.RichEdit1 do begin mess := SendMessage(Handle, WM_CTLCOLORSCROLLBAR, 0, 0); showmessage(inttostr(mess)); end;
msdn dixit
En fait je crois que c'est plus compliqué:Return Value
The return value specifies the result of the message processing; it depends on the message sent.
http://www.geocities.com/Heartland/Meadows/9818/win32tut/lesson4.html
Regarde aussi du coté de WndProc dans l'aide Delphi
Bon je vais mettre ca de coté, c'est dommage parce que ca m'aurait fait un bon exercice sur l'utilisation de windows ...
vais attaquer les bases de données ...
Partager