Bonjour à tous,
Je souhaiterais changer la couelur de la bordure de mon panel ainsi que supprimer la bordure. Pouvez vous m'aider ?
De plus, la propriété BorderWidth = 0 et BorderStyle= bsNone.
Merci à vous,
Bonjour à tous,
Je souhaiterais changer la couelur de la bordure de mon panel ainsi que supprimer la bordure. Pouvez vous m'aider ?
De plus, la propriété BorderWidth = 0 et BorderStyle= bsNone.
Merci à vous,
Bonjour,
je ne suis pas sur de bien comprendre..
Tu veux changer la couleur de la bordure ou supprimer la bordure ?
En tous les cas, si tu veux modifier l'apparence d'un TPanel, il faut désactiver les champs de la propriété de StyleElements.
Pour supprimer la bordure, essaie de mettre la propriété de BevelOuter à BvNone
Pour modifier la couleur de la bordure de ton Panel, je ne crois pas qu'il y ait de propriété directement accessible. Il faudrait que tu crées composant et que tu redessines toi-même la bordure.
J'ai trouvé cette discussion : https://www.developpez.net/forums/d1...uleur-bordure/
Sinon, tu peux essayer un TShape. Est-ce que cela correspondrait à ton besoin ?
Bonjour,
Grillé le temps que je fasse des essais mais : à cette question il y a plusieurs réponses possibles dépendant, en quelque sorte, de la version de Delphi et de la mouture du programme (VCL ou FMX).
Une solution simple dessiner un TRectangle autour du TPanel.
Mais comment envisager la chose :
par simple code ou en surchargeant la classe
Peut-être aussi envisager d'utiliser un équivalent Tpanel d'une autre bibliothèque (jvPanel de la JVCL, advPanel de TMS Software)
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 // Shema de surcharge TMyPanel = class(TPanel) FColor : TColor; protected procedure WM_NCPaint(var Msg: TWMNCPaint); message WM_NCPaint; end; procedure TMyPanel.WM_NCPaint(var Msg: TWMNCPaint); var DC: HDC; OldBrush: HBRUSH; OldPen: HPEN; begin DC := 0; OldBrush := 0; OldPen := 0; try DC := GetWindowDC(Handle); OldBrush := SelectObject(DC, GetStockObject(NULL_BRUSH)); Canvas.Pen.Color := FColor; OldPen := SelectObject(DC, Canvas.Pen.Handle); Rectangle(DC, 0, 0, Width, Height); Msg.Result := 0; finally if DC <> 0 then begin if OldPen <> 0 then SelectObject(DC, OldPen); if OldBrush <> 0 then SelectObject(DC, OldBrush); ReleaseDC(Handle, DC); end; end; end;
avec TMS
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
on pourra aussi mettre TShape ou un TPanel dans un Panel parent
avec un alClient et AlignWithMargins sur le composant enfant, ou en fixant le Padding du parent selon le besoin
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