Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поиск TabSheet


Автор: Доминик 17.3.2007, 12:42
Приветствую!
Люди нужна помощь и надеюсь что вы поможете.
На форме есть один Pagecontrol на нем один TabSheet - Это главное окно чата,
в нем я решил организовать еще и приватные диалоги, тоесть один на один. Дак вот
кто поможет реализовать такую штуку:
Есть список пользователей, при клике на одного из них мы начинаем просматривать
все заголовки табшетов и если такого нет то динамически создаем табшет с таким заголовком, в противном случае просто  делаем активным этот табшет. 
Подскажите как это реализовать.

Автор: VICTAR 17.3.2007, 15:47
Код

function TForm1.GetTabSheet(User: string): TTabSheet;
var i: integer;
begin
  i:=0;
  while (i<PageControl1.PageCount) and
    (PageControl1.Pages[i].Caption<>User)
      do inc(i);
 if i<PageControl1.PageCount
  then result:=PageControl1.Pages[i]
    else result:=nil;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var NewSheet: TTabSheet;
    User    : string;
begin
User:=ListBox1.Items[ListBox1.ItemIndex];
NewSheet:=GetTabSheet(User);
if NewSheet=nil then
  begin
    NewSheet:=TTabSheet.Create(PageControl1);
    NewSheet.Caption:=User;
    NewSheet.PageControl:=PageControl1;
  end;
PageControl1.ActivePage:=NewSheet;
end;


Автор: Доминик 17.3.2007, 17:01
Спасибо VICTAR. Все работает!!!!

Автор: VICTAR 17.3.2007, 17:15
На здоровье ;) Заходи еще

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)