Bonjour,
voici le probleme que je n'arrive pas à résoudre
Je créer un TPageControl avec 2 Tabsheet
je mets true dans OwnerDraw, ce qui me permet de redessiner le TpageControl et plus particulierement les etiquettes des tabsheet.
Voici mon code :
Mais la j'ai une erreur :Constant Objet cannot be passed as var parameter au niveau du Rect de DrawtextCode:
1
2
3
4
5
6
7
8
9 procedure TFormPrincipal.PageControlPrincipalDrawTab( Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); begin Degrader(PageControlPrincipal.Canvas,Rect,clcream,$0084DAFF); Brush.Style := bsClear; DrawText(PageControlPrincipal.Handle, Pchar(PageControlPrincipal.Pages[Tabindex].caption),-1, Rect, DT_CENTER or DT_NOPREFIX or DT_VCENTER or DT_SINGLELINE); end;
Alors j'ai essayé cela
Alors j'ai plus d'erreur mais il ne m'écris pas mon caption, j'ai que le dégradé.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure TFormPrincipal.PageControlPrincipalDrawTab( Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); Var Etiquette: Trect; begin Degrader(PageControlPrincipal.Canvas,Rect,clcream,$0084DAFF); PageControlPrincipal.Canvas.Brush.Style := bsClear; Etiquette.Left := PageControlPrincipal.Pages[Tabindex].Left; Etiquette.Top := PageControlPrincipal.Pages[Tabindex].Top; DrawText(PageControlPrincipal.Handle, Pchar(PageControlPrincipal.Pages[Tabindex].caption),-1, Etiquette, DT_CENTER or DT_NOPREFIX or DT_VCENTER or DT_SINGLELINE); end; end;
Ou je fais l'erreur ? pouvez-vous m'aider