Вниз
Скачать: CL | DM;

CheckBox в DBGrid   Найти похожие ветки 

 
Yakudza ©   (2003-05-14 14:52) [0]

Как-то можно вставить CheckBox в DBGrid ?


 
clickmaker ©   (2003-05-14 14:57) [1]

1. Использовать готовый. Например, из EhLib (есть на torry.net)
2. Обрабатывать OnDrawColumnCell, рисовать примерно так:
if Column.Field.AsBoolean then
style := DFCS_CHECKED
else
style := DFCS_BUTTONCHECK;
DrawFrameControl(TBDGrid(Sender).Canvas.Handle, Rect, DFC_BUTTON, style or DFCS_FLAT);


 
Hint ©   (2003-05-14 14:58) [2]

procedure TformColorGrid.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var Style : Integer;
Begin
IF { рисуется колонка, в которую мы хотим поместить TCheckBox }
Then IF { значение поля TRUE }
Then Style := DFCS_CHECKED
Else Style := DFCS_BUTTONCHECK;
End;

DrawFrameControl(TDBGrid(Sender).Canvas.Handle, Rect, DFC_BUTTON, Style);
End;

Функция DrawFrameControl рисует на канве в определенном прямоугольнике стандартный windows-control, тип и состояние которого определяется передаваемыми параметрами.
BOOL DrawFrameControl(

HDC hdc, // handle to device context
LPRECT lprc, // pointer to bounding rectangle
UINT uType, // frame-control type
UINT uState // frame-control state
);

Подробнее о том, что еще может рисовать эта функция, смотрите help по Windows API (или MSDN или win32.hlp в поставке Delphi) .
(c)Елена Филиппова


 
p@s ©   (2003-05-15 07:29) [3]

А че вопрос то в потрепатся перенесли?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
14-3075
Hirs
2003-05-14 17:00
2003.06.02
вопрос про прерывание Клавиатуры


14-3091
Aferist
2003-05-13 18:32
2003.06.02
Катриджи от canon


11-2832
Kirill
2002-09-04 12:14
2003.06.02
Завершение строки в Editbox е


1-2904
Nikos
2003-05-22 17:55
2003.06.02
Как вызвать процедуру OnDrawCell объекта ТStringGrid


1-2893
Юрий
2003-05-21 17:07
2003.06.02
Быстрая сортировка




   Наверх