![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CheckBox в DBGride [D7]
SergeyM © (2004-05-14 13:56:00)Это вообще возможно? Если да, то как?
SergeyM (2004-05-14 15:32:00) [1]Спасибо Vlad
Vlad (2004-05-14 15:04:00) [2]Вот пример использования:
(писал не проверяя, м.б. мелкие ошибки)
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TDBGrid(Sender) do
begin
if Column.FieldName='SELECTION' then
begin
if DataSource.DataSet.FieldByName('SELECTION').AsInteger = 1
DrawGridCheckBox(TDBGrid(Sender).Canvas, Rect, True);
else
DrawGridCheckBox(TDBGrid(Sender).Canvas, Rect, False);
else begin
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
DenK_vrtz (2004-05-14 14:55:00) [3]>SergeyM © (14.05.04 14:45) [3]
а вот это уже издевательство!
SergeyM (2004-05-14 14:45:00) [4]Чето я не понял как мне привязать эту процедуру к конкретной колонке
Vlad (2004-05-14 13:59:00) [5]
procedure DrawGridCheckBox(Canvas: TCanvas; Rect: TRect; Checked: boolean);
var
DrawFlags: Integer;
tmpRect: TRect;
begin
tmpRect := Rect;
InflateRect(tmpRect, -2, -2);
Canvas.FillRect(Rect);
DrawFlags := DFCS_BUTTONCHECK or DFCS_ADJUSTRECT;
if Checked then
DrawFlags := DrawFlags or DFCS_CHECKED;
DrawFrameControl(Canvas.Handle, tmpRect, DFC_BUTTON, DrawFlags);
end;
Вызывать в событии OnDrawColumnCell с параметром True если надо чтоб чекнутый был, или False если не чекнутый
clickmaker (2004-05-14 13:58:00) [6]EhLib
в стандартном OnDrawColumnCell + DrawFrameControl