Главная страница
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.066 c
9-1142295967
chemicalR
2006-03-14 03:26
2007.01.14
Игра на память.


2-1166627427
atas-sheriff
2006-12-20 18:10
2007.01.14
TClientSocket & TProgressBar


15-1166893323
kan
2006-12-23 20:02
2007.01.14
usart


1-1163833795
nes_
2006-11-18 10:09
2007.01.14
Twebbrowser + обработка ошибок


2-1167082382
Delphi4aynik
2006-12-26 00:33
2007.01.14
Combobox