Saeid59_m
سه شنبه 12 تیر 1386, 13:29 عصر
چطوری میشه یه lable داشت که مثلا حرف 4 و 8 که توی اون قرارمی گیره به رنگ خاصی باشه یا Bold باشه .
می دونم با RichEditمی شه و لی می خواهم با Lableمعمولی این کار رو بکنم .
ممنون
اَرژنگ
سه شنبه 12 تیر 1386, 14:02 عصر
چطوری میشه یه lable داشت که مثلا حرف 4 و 8 که توی اون قرارمی گیره به رنگ خاصی باشه یا Bold باشه .
می دونم با RichEditمی شه و لی می خواهم با Lableمعمولی این کار رو بکنم .
ممنون
با لیبل معمولی نمیشه این کار را کرد.
Saeid59_m
چهارشنبه 13 تیر 1386, 09:09 صبح
پس چطوری باید این کار رو انجام داد ببینید می خوام یه چیزی درست کنم که مثلا اگه عبارت
ALi~Reza~Sadeghi
رو بهش دادم عبارت Reza رو Bold کنه
اگه کامپوننتی هست معرفی کنید
ممنون
Arman_1367
چهارشنبه 13 تیر 1386, 09:11 صبح
از چه قاعده ای پیروی می کنه.یعنی اینکه مثلاً اگر عبارتی بهش دادیم فقط بین دو علامت ~ را Bold کنه.
Saeid59_m
چهارشنبه 13 تیر 1386, 10:37 صبح
از چه قاعده ای پیروی می کنه.یعنی اینکه مثلاً اگر عبارتی بهش دادیم فقط بین دو علامت ~ را Bold کنه.
درسته دقیقاً منظورم همینه
Arman_1367
چهارشنبه 13 تیر 1386, 12:51 عصر
این یک کلاس خیلی ساده هست اما می توانی از روش اون استفاده کنی.
TArmanLabel = Class(TGraphicControl)
Private
FText:String;
Procedure SetText(Value:String);
Protected
Procedure Paint;override;
Published
Property Text:String Read FText Write SetText;
End;
.
.
.
.
.
.
procedure TArmanLabel.Paint;
Var S,S2:String;
r:Trect;
begin
S:=Text;
Canvas.Brush.Style:=BsClear;
S2:=Copy(S,1,pos('~',S));
Delete(S,1,Length(S2));
Canvas.Font.Assign(Font);
r:=Rect(0,0,Canvas.TextWidth(s2),Height);
DrawText(Canvas.Handle,PChar(S2),-1,R,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
S2:=Copy(S,1,pos('~',S)-1);
Delete(S,1,Length(S2));
Canvas.Font.Style:=Canvas.Font.Style+[fsBold];
r:=Rect(r.Right,0,r.Right+Canvas.TextWidth(s2),Hei ght);
DrawText(Canvas.Handle,PChar(S2),-1,R,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
Canvas.Font.Style:=Canvas.Font.Style-[fsBold];
r:=Rect(r.Right,0,r.Right+Canvas.TextWidth(s),Heig ht);
DrawText(Canvas.Handle,PChar(S),-1,R,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
procedure TArmanLabel.SetText(Value: String);
begin
FText:=Value;
Repaint;
end;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.