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 :) ?
Version imprimable
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. :roll:Citation:
Envoyé par reg11
J'ai fait pour une fiche un jpg en fond :
Code:
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:
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...
à+
très bien :)
Moi aussi je coupe :arrow:
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 ?
je le remonte dans l'espoir d'avoir une réponse :?
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.Citation:
Envoyé par Sub0
Quel algo as-tu utilisé ?
:?:
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 pas :(Citation:
Envoyé par cpdump
mess est egal à 0, est-ce normal ?Code:
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é:Citation:
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 ...