Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
3-1084847163
Krechetov
2004-05-18 06:26
2004.06.06
Поиогите разобраться с SQL запросом


1-1085645771
Floppy
2004-05-27 12:16
2004.06.06
Удаление файла


1-1085485870
Dmitry
2004-05-25 15:51
2004.06.06
Как в RichEdit выравнить текст по ширине?


8-1080551905
Sauron_ua
2004-03-29 13:18
2004.06.06
Размери текстур в DirectX


14-1085073644
delphin12
2004-05-20 21:20
2004.06.06
hook на сканер