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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-63591
_pavel_
2003-02-04 13:05
2003.02.20
Fast Report


1-63653
Salvator
2003-02-11 11:20
2003.02.20
Работа с Word через Delphi


3-63554
Alpine
2003-02-01 18:06
2003.02.20
Как програмно переименовать поле ?


6-63708
ламо
2002-12-31 14:44
2003.02.20
udp


4-63915
smok_er
2003-01-08 19:11
2003.02.20
ShellExecute и %SystemRoot%