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

Вниз

Список фреймов / панелей   Найти похожие ветки 

 
UserControl   (2006-11-24 06:01) [0]

Есть ли решения? Нужен быстрый список / грид контролов (фреймов, к примеру, или панелей, с различным интерактивным контентом). Визуализация максимум 150-200 контролов в списке.

Пробовал делать в виде TScrollBox + TPanel (с кучей лейблов / пиктограмм на них + Align = alTop). Получается довольно тормознуто, так как создавать приходится кучу контролов (которые в добавок с БД связаны) в run-time.

Идеальный вариант был бы именно список фреймов...

На торри ничего интересного не обнаружил.

Подвести функционал того же VirtualTreeView под задачу - не удобно. Писать с нуля по времени практически нереально.

Видел отличное решение в VS2005 (Syncfusion components, вроде бы), там ячейки в гриде были UserControls + DataBinding и прочие фишки - все было мега-удобно. Но решать задачу надо в дельфях, портирование кода невозможно из-за подвязки на дотнете.

Прошу вас, помогите!


 
Elen ©   (2006-11-24 08:49) [1]


> UserControl

Могу предложить следующее : Создай Frame накидай на него контролы, а потом на форме размести грид и пропиши вот это :


procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);

begin
if   StringGrid1.Objects [acol,arow]=nil then begin
  StringGrid1.Objects [acol,arow]:=Tframe2.Create(stringgrid1);
  TFrame2(StringGrid1.Objects [acol,arow]).Name:="frm"+inttostr(acol)+inttostr(arow);
  TFrame2(StringGrid1.Objects [acol,arow]).Parent :=StringGrid1;
  TFrame2(StringGrid1.Objects [acol,arow]).Top:=rect.Top;
  TFrame2(StringGrid1.Objects [acol,arow]).Left:=rect.Left;
  StringGrid1.ColWidths[acol] :=TFrame2(StringGrid1.Objects [acol,arow]).Width+10;
  StringGrid1.RowHeights[arow]:=TFrame2(StringGrid1.Objects [acol,arow]).Height+10;

  TFrame2(StringGrid1.Objects [acol,arow]).Visible:=true;
end;
end;


 
UserControl   (2006-11-24 18:26) [2]

Elen ©   (24.11.06 08:49) [1]
Спасибо!


 
Чапаев ©   (2006-11-25 09:51) [3]

Знакомый похожим образом делал, у него были какие-то странные трудноотлавливаемые глюки при обработке событий контролов, у которых Parent=StringGrid.



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1167143408
vain
2006-12-26 17:30
2007.01.14
Запуздыривание в трей.


2-1167026033
-=GAMBIT=-
2006-12-25 08:53
2007.01.14
ссылки на файлы


4-1157040768
ph0sgen
2006-08-31 20:12
2007.01.14
hinstance


4-1157089018
vodvorezlaya
2006-09-01 09:36
2007.01.14
Как получить вписок окон в системе


15-1166381963
Ломброзо
2006-12-17 21:59
2007.01.14
Рефакторинг базы Oracle