PDA

View Full Version : بدست آوردن Left , Top یک سل از دیبیگرید



rezamahdizadeh
دوشنبه 12 شهریور 1386, 07:01 صبح
من می خواهم Left و Top یک سل از dbgrid وقتی که روی آن سل می رویم را بدست آوریم. چه کار کنم؟ در CellClick چی؟

Answer
دوشنبه 12 شهریور 1386, 09:59 صبح
با استفاده از rec.top , rect.left در اونت DrawColumnCell میتوان به top , left یک سل دسترسی داشت. البته به کد زیر یه مگاه بنداز که کارت رو راه میندازه:

procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
// چک شده که اولا آیا در سطر فکوس شده و ثانیا در فیلد مورد نظر که اینجا شماره 4 میباشید هستیم
if (gdFocused in State) and (Column.Field.Index = 4) then
begin
Button1.Top:=Rect.Top;
Button1.Left:=Rect.Left;
end;

rezamahdizadeh
چهارشنبه 04 مهر 1386, 07:10 صبح
با استفاده از rec.top , rect.left در اونت DrawColumnCell میتوان به top , left یک سل دسترسی داشت. البته به کد زیر یه مگاه بنداز که کارت رو راه میندازه:

procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
// چک شده که اولا آیا در سطر فکوس شده و ثانیا در فیلد مورد نظر که اینجا شماره 4 میباشید هستیم
if (gdFocused in State) and (Column.Field.Index = 4) then
begin
Button1.Top:=Rect.Top;
Button1.Left:=Rect.Left;
end;

اگر بخواهیم به جای دکمه مورد اشاره در مثالی که ارایه نموده اید فرم دیگری باز شود به طوری که این فرم در جای مناسب باز شود چه کار کنیم