![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите как вставить кнопка в ячейке Dbgrid? [D6, XP]
Ulugbek © (2009-08-15 11:51:00)Привет всем!
Помогите как вставить кнопка в ячейке Dbgrid?
Мне надо, чтобы на каждой строке рисовать три кнопки
Удалить Сохранить Редактировать когда стою на активную запись
Есть Dbgrid c данными, добавил фиктивные три поля
и на форму положил три TButtona
formoncreate сделал
button.visible:=false
procedure TfrmCMPMain.grdOperDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
DrawState: Integer;
DrawRect: TRect;
begin
if (gdfocused in State) then
begin
if (Column.Field.FieldName = 'test') then
with button do
begin
Left := Rect.Left + grdOper.Left + 2;
Top := Rect.Top + grdOper.Top + 2;
Width := Rect.Right - Rect.Left;
Width := Rect.Right - Rect.Left;
Height := Rect.Bottom - Rect.Top;
Visible := True;
end
end;
Но это не дает резултать...
Кто нибудь сделал такое?
Заранее благодарен
Ulugbek (2009-08-18 09:53:00) [1]Ясно спасибо
MsGuns (2009-08-17 17:43:00) [2]Я бы рисовал не кнопки, а иконки и нажатие обрабатывал в клике грида, проверяя ячейку, где был клик. Если надо чтобы была именно кнопка, то в событиях мыши того же грида менял бы иконки на "нажатая" - "отжатая".
Но вообще-то для стандартных гридных функций редактирования вполне достаточно кнопок на инструментальных линейках формы, меню, всплывающих меню и шорткатов ("горячих клавиш"), - такой механизм просто реализуется через TAction+TActionList.
Кнопки сабжа, расположенные прямо в сетке, загромождают экран и вводят юзера в заблужение :)
Ulugbek (2009-08-17 17:09:00) [3]To shiknik
Я оттуда брал..
Но у меня почему то не получилось..
sniknik (2009-08-15 12:47:00) [4]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=806