View Full Version : فونت dbgrid هنگام multiselect
accpascal
جمعه 24 آبان 1387, 16:02 عصر
باور کنید تکراری نیست من خیلی گشتم این مورد را پیدا نکردم
با استفاده از دستور زیر رنگ فونت dbgrid را تعریف کردم ولی در multiselect جواب نمی دهد
If (gdFocused in State) or (gdSelected in State) then
begin
dbgrid.Canvas.Font.Color:=clred;
dbgrid.canvas.brush.color :=clblue;
end
کسی میداند اشکال در کجاست
Answer
شنبه 25 آبان 1387, 19:54 عصر
اول اینکه کدی که نوشتی کامل نیست و برای یک سطر هم جواب نمیده
If (gdFocused in State) or (gdSelected in State) then
dbgrid1.Canvas.Brush.Color :=clCream ;
dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
دوم اینکه اینکار فقط برای سطر فعال انجام میشه و برای چندین رکورد بهتره از خاصیت Bookmark جدول دادهها استفاده بشه
accpascal
شنبه 25 آبان 1387, 21:38 عصر
از تذکر شما ممنونم
من سطر آخر را هم که شما اضافه کردهاید در برنامه اصلی نوشته ام
لطفا برای قسمت اصلی سوال(multiselect) اگر جوابی دارید لطف بفرمایید ممنون می شوم
خاصیت bookmark را چگونه استفاده کنم
Answer
یک شنبه 26 آبان 1387, 11:54 صبح
پس از کلی تلاش یه کد بسیار ساده و جالب
تو خاصیت DrawColumnCell گرید بنویسید
if DBGrid1.Canvas.Brush.Color=clHighlight then
DBGrid1.Canvas.Brush.Color:=clCream;
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.