PDA

View Full Version : گداشتن ‌Button بر روی DBGrid



Mahdi_S_T
جمعه 20 آذر 1383, 20:38 عصر
این عکس گویای سوال است ؟

http://tinypic.com/vl37b

vcldeveloper
شنبه 21 آذر 1383, 02:24 صبح
برای ایجاد دکمه برای یک فیلد:
فیلد مورد نظر رو از داخل پنجره Field Editor انتخاب کن
از داخل Object Inspector خصوصیت ButtonStyle رو مساوی با cbsEllipsis قرار بده.
کد مربوط به فشار دادن دکمه رو در رویداد OnEditButtonClick بنویس.

Mahdi_S_T
چهارشنبه 25 آذر 1383, 17:48 عصر
:thnx:
- آیا امکان داره که برای این Button کلید میانبر تعریف کرد که مثلا هر موقع F4 را زدیم فعال شود
- فرض بگیرید با اجرای این ‌Button فرمی باز می شود که در آن یک مقداری را انتخاب می کنیم حال چطور آن مقدار را به این فیلد انتقال دهیم.

jirjirakk
چهارشنبه 25 آذر 1383, 22:02 عصر
فکر کنم ActionList بتونه کارت رو راه بندازه

Mahdi_S_T
جمعه 27 آذر 1383, 09:25 صبح
با تشکر
من تا بحال با ActionList کار نکرده ام اگه امکان داره یه مثال بزن . :flower:

محمد دادودنیا
پنج شنبه 25 آبان 1385, 01:36 صبح
چطور میشه روی Title DBGrid یه عکس گذاشت مثلا وقتی که روی آن کلیک کردی بدونی جدول بر اساس آن مرتب شده

vcldeveloper
پنج شنبه 25 آبان 1385, 10:22 صبح
چطور میشه روی Title DBGrid یه عکس گذاشت مثلا وقتی که روی آن کلیک کردی بدونی جدول بر اساس آن مرتب شده


type
THackedGrid = class(TDBGrid);

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
R : TRect;
Pic : TPicture;
i : integer;
begin
with Sender as TDBGrid do
begin
//Draw the image on the third colum
if DataCol = 2 then
begin
Pic := TPicture.Create;
try
pic.Assign(Image1.Picture); //--> Create your own image!
R.TopLeft := Point(0,0);
R.Bottom := THackedGrid(DBGrid1).RowHeights[0];
//Calculate the picture's Left value
for i := 0 to DataCol-1 do
Inc(R.Left,Columns[i].Width);
//The picture must be drawn after the column's title
Inc(R.Left,Canvas.TextWidth(Column.Title.Caption) + 8);
R.Right := Pic.Width + R.Left;
//Draw the picture
Canvas.StretchDraw(R,Pic.Graphic);
finally
Pic.Free;
end;
end; //if DataCol
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end; //With
end;