Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть готовые решения для PickList ячеек TStringGrid?


Aleksandr. ©   (2006-10-05 15:47:00) 

Чтобы при входе в ячейку можно было выпадающий список открывать?


ЮЮ   (2006-10-06 04:54:00) [1]

TCustomGrid
protected
 function GetEditStyle(ACol, ARow: Longint): TEditStyle; dynamic;
 function CreateEditor: TInplaceEdit; virtual;

function TCustomGrid.GetEditStyle(ACol, ARow: Longint): TEditStyle;
begin
 Result := esSimple;
end;

В TRxDrawGrid, например, это сделано так:

function GetEditStyle(ACol, ARow: Longint): TInplaceEditStyle; override;

function TRxDrawGrid.GetEditStyle(ACol, ARow: Longint): TInplaceEditStyle;
begin
 Result := esSimple;
 if Assigned(FOnGetEditStyle) then FOnGetEditStyle(Self, ACol, ARow, Result);
end;

Т.е. определение стиля редактора вынесено в обработчик события  OnGetEditStyle

TInplaceEditList = class(TInPlaceEdit)
public
 property OnGetPickListitems: TOnGetPickListItems read FOnGetPickListitems
     write FOnGetPickListitems;

Т.е. после создание редакторя ячейки следует редактору назначить обработчик

З.Ы. Если данные хранятся в некой "таблице" в памяти, то можно взять TRxDrawGrid, где останется написать OnSet[Get]EditText и OnDrawCell.
(TrxDrawGrid уже имеет нужные методы
   procedure DrawStr(ARect: TRect; const S: string; Align: TAlignment);
   procedure DrawMultiline(ARect: TRect; const S: string; Align: TAlignment);
   procedure DrawPicture(ARect: TRect; Graphic: TGraphic);
   procedure DrawMasked(ARect: TRect; Graphic: TBitmap);
)
Необходимые для редактирования данные вынесены там о обработчики совытий


Германн   (2006-10-06 01:17:00) [2]


> Есть готовые решения для PickList ячеек TStringGrid?

Есть. У Максима http://www.torry.net/всё есть. Как в Греции.


Loginov Dmitry   (2006-10-05 23:16:00) [3]

КотКамышовый ©   (05.10.06 16:56) [1]
Parent := Grid


А вот этого ради бога не надо! Слишком классные эффекты после этого наблюдаются :)


КотКамышовый   (2006-10-05 16:56:00) [4]

можно ComboBox использовать.
Делать видимым при входе в ячейку. Parent := Grid, координаты = CellRect ну и т.д.


Наверх

Титульная страница Поиск, карта сайта Написать письмо