Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: 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 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
14-3090
kostya2000
2003-05-13 15:04
2003.06.02
Вагончик тронется!


14-3124
corvex
2003-05-13 10:19
2003.06.02
Ошибка 500 при выполнении ISAPI...


4-3214
Axis_of_Evil
2003-04-02 10:10
2003.06.02
GetWindowInfo?


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


3-2780
Дмитрий_Б
2003-05-14 11:22
2003.06.02
Вопрос по IB