Форум: "Базы";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c