Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.18;
Скачать: CL | DM;

Вниз

Помогите как вставить кнопка в ячейке Dbgrid?   Найти похожие ветки 

 
Ulugbek   (2009-08-15 11:51) [0]

Привет всем!
Помогите как вставить кнопка в ячейке 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;

Но это не дает резултать...
Кто нибудь сделал такое?
Заранее благодарен


 
sniknik ©   (2009-08-15 12:47) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=806


 
Ulugbek   (2009-08-17 17:09) [2]

To shiknik
Я оттуда брал..
Но у меня почему то не получилось..


 
MsGuns ©   (2009-08-17 17:43) [3]

Я бы рисовал не кнопки, а иконки и нажатие обрабатывал в клике грида, проверяя ячейку, где был клик. Если надо чтобы была именно кнопка, то в событиях мыши того же грида менял бы иконки на "нажатая" - "отжатая".

Но вообще-то для стандартных гридных функций редактирования вполне достаточно кнопок на инструментальных линейках формы, меню, всплывающих меню и шорткатов ("горячих клавиш"), - такой механизм просто реализуется через TAction+TActionList.

Кнопки сабжа, расположенные прямо в сетке, загромождают экран и вводят юзера в заблужение :)


 
Ulugbek   (2009-08-18 09:53) [4]

Ясно спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
2-1250505823
izya
2009-08-17 14:43
2009.10.18
Как получить длину имени класса получаемый GetClassName


2-1250155374
Сергей_Власов
2009-08-13 13:22
2009.10.18
Провести линию параллельно заданной через заданные координаты


2-1250700077
Lex_okha
2009-08-19 20:41
2009.10.18
Помогите решить проблему


15-1245585239
Кто б сомневался
2009-06-21 15:53
2009.10.18
Автозапуск на Vista и цифровая подпись


15-1250185590
Andy BitOff
2009-08-13 21:46
2009.10.18
Офис Google в ...