Главная страница
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
1-1085143094
Chlavik
2004-05-21 16:38
2004.06.06
Графический обьект произвольной формы...


6-1082190154
AndersoNRules
2004-04-17 12:22
2004.06.06
Kak ispolizuya componenti TSocket (ili po drugomu),proveriti:Ne


3-1084467146
3APA3A
2004-05-13 20:52
2004.06.06
insert результатов select а


4-1082374540
Сережа550
2004-04-19 15:35
2004.06.06
WM_LBUTTONDOWN и WM_LBUTTONUP


1-1085385472
Senator
2004-05-24 11:57
2004.06.06
печать