Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизCheckBox в DBGride Найти похожие ветки
← →
SergeyM © (2004-05-14 13:56) [0]Это вообще возможно? Если да, то как?
← →
clickmaker © (2004-05-14 13:58) [1]EhLib
в стандартном OnDrawColumnCell + DrawFrameControl
← →
Vlad © (2004-05-14 13:59) [2]
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 если не чекнутый
← →
SergeyM © (2004-05-14 14:45) [3]Чето я не понял как мне привязать эту процедуру к конкретной колонке
← →
DenK_vrtz © (2004-05-14 14:55) [4]>SergeyM © (14.05.04 14:45) [3]
а вот это уже издевательство!
← →
Vlad © (2004-05-14 15:04) [5]Вот пример использования:
(писал не проверяя, м.б. мелкие ошибки)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;
← →
SergeyM © (2004-05-14 15:32) [6]Спасибо Vlad
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c