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

Как нарисовать CheckBox в DBGrid   Найти похожие ветки 

← →
ik   (2003-02-04 17:16) [0]

Как нарисовать CheckBox в DBGrid, таким образом, чтобы он был активным (т.е. на клик реагировал). Вот мой код, подскажите плз
:

procedure TNewDog.DocGridDrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);

var
R: TRect;
btn: UINT;

begin
if Field.FieldName="


← →
mate ©   (2003-02-04 17:31) [1]

Я вообще-то не рисовал CheckBox а сделал по другому, просто в нужную ячейку выводил нужный символ:

procedure TForm11.DBGrid1CellClick(Column: TColumn);
begin
if form11.Query1.RecordCount>0 then
begin
if (Column.FieldName="post")or(Column.FieldName="Post") then
begin
form11.DBGrid1.ReadOnly:=false;
form11.DataSource1.Edit;
if form11.Query1.FieldByName("post").Value="#" then
form11.Query1.FieldByName("post").Value:=""
else
form11.Query1.FieldByName("post").Value:="#";
form11.DBGrid1.ReadOnly:=true;
end;
form11.DBGrid1.SelectedIndex:=1;
end;
end;

procedure TForm11.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Column.FieldName="post") then
begin
with form11.DBGrid1.Canvas do
begin
Brush.Color:=clWhite;
FillRect(Rect);
Font.Name:="Wingdings";
Font.Size:=-14;
if (form11.Query1.FieldByName("post").Value="#") then
begin
Font.Color:=clBlack;
TextOut(Rect.Right-3-DBGrid1.Canvas.TextWidth("ь"),Rect.Top+1,"ь");
moveto(rect.Left,rect.Bottom);
lineto(rect.Right,rect.Bottom);
end;
end;
end;




← →
Виталий Панасенко   (2003-02-04 17:52) [2]

А лучше не умничать, а использовать готовый DBGridEh из EhLib :-)))



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

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



Память: 0.45 MB
Время: 0.009 c
3-63498
VaZ
2003-02-05 07:42
2003.02.20
Как передать в InterBase параметры


3-63561
Engel
2003-02-01 20:34
2003.02.20
Делаю прогу, чтоб можно было взять список таблиц и полей из БД.


14-63842
Дремучий
2003-02-04 21:18
2003.02.20
Веб-чат. Способы уменьшения трафика.


6-63697
alev
2002-12-29 01:45
2003.02.20
Сканер портов


3-63566
stoper
2003-01-24 11:52
2003.02.20
Медленно выполняется запрос




   Наверх