View Full Version : نوشتن در مرکز String grid
hesamy2004
شنبه 02 تیر 1386, 23:30 عصر
دوستان یه سئوال دارم وقتی در داخل سلهای استرینگ گرید مینویسم (فرضاً یه عدد) در قسمته گوشه و بالا نوشته میشود. ولی من میخواهم تا در وسط سلها نشان داده شود. چه کار باید بکنم تا اینطوری نشان داده شود؟
در ضمن میخواهم رنگ هر سلول و رنگ فونت را به رنگه دلخواهی تغییر دهم، در مورد این هم در صورت امکان راهنماییم کنید.
با تشکر
Arman_1367
یک شنبه 03 تیر 1386, 00:12 صبح
یک StringGrid روی فرم بزار و در رویداد OnDrawCell این کد ها قرار بده:
Var S:String;
Cl:TColor;
Flag:Integer;
begin
s:=StringGrid1.Cells[ACol, ARow];
If gdSelected in State then//Selected Cell's
Cl:=clBlue
else
If gdFixed in State then//Fixed Cell's
Cl:=clGreen
else//Normal Cells
Cl:=clRed;
Flag:=DT_CENTER // to Set Text Horizontal Center
Or DT_SINGLELINE or DT_VCENTER ;// To Set Text Vertical center
With StringGrid1.Canvas do
begin
Pen.Color:=clWhite;
Brush.Color:=Cl;
Font.Name:='Script';//Set Font Name
Font.Color:=clWhite;//Set Font Color
Font.Size:=14;
Rectangle(Rect);//Draw The Rect if you want you can draw a bitmap
Brush.Style:=bsClear;//Befor Draw Text set this param
DrawText(Handle,PChar(S),-1,Rect,Flag);
InflateRect(Rect,-2,-2);
If gdFocused in State then
DrawFocusRect(Rect);
end;
end;
یا حق...
hesamy2004
یک شنبه 03 تیر 1386, 13:19 عصر
آرمان جان دستت درد نکنه. کلی کیفشو بردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.