Главная страница
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.022 c
14-3063
Taktik
2003-05-16 04:27
2003.06.02
EhLib а есть ли по нему русский мануал... ну или хелп


14-3128
sniknik
2003-05-14 16:29
2003.06.02
Веселая ошибка


4-3226
IA
2003-04-02 20:05
2003.06.02
как завершить работу другого приложения


3-2789
vvip
2003-05-14 08:47
2003.06.02
Ошибка при закрытии набора данных ADODB при работе с Access


3-2803
jen_bond
2003-05-14 19:25
2003.06.02
Database not assigned