Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать свой TabSheet с доп. компонентами 
V
    Опции темы
Pentium02
Дата 26.8.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 29.4.2006
Где: Россия

Репутация: нет
Всего: 1



пытаюсь делать так

Код

type
  TTabSheetMsg = class(TTabSheet)
      UINPanel: TPanel;
      LogR: TRichEdit;
      MessageMemo: TMemo;
      SendBtn: TButton;
  end;

..........


procedure TChatForm.ConstructPage(UIN, Nick: String);
var
      TabSheetMsg: TTabSheetMsg;
....
begin
....
      TabSheetMsg:=TTabSheetMsg.Create(PageControl);
      TabSheetMsg.PageControl:=PageControl;
      TabSheetMsg.UINPanel:=TPanel.Create(TabSheetMsg);
      with TabSheetMsg.UINPanel do
        begin
          Width:=520;
          Height:=22;
          Top:=0;
          Left:=0;
          Show;
        end;
....
end;

Сам TabSheet создаётся, а вот панелька на нём не появляется, что я делаю не так?

Это сообщение отредактировал(а) Pentium02 - 26.8.2007, 00:10
PM MAIL WWW ICQ   Вверх
Sanchezzz
  Дата 26.8.2007, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



Код

function tform1.CreateTabEx( sCaption: string): TTabSheet;
var
  ts: TsTabSheet;
  SL:TPanel;
begin
  // Create a new TabSheet
  ts := TsTabSheet.Create(PageControl1);
  Result := ts;
  try
    // Assign TTabSheet Properties
    ts.PageControl := PageControl1;
    ts.Parent := PageControl1;
    ts.Caption := Format('%s', [sCaption]);

    ts.PageIndex := PageControl1.ActivePageIndex + 1;
   // AdvIconList.  GetIcon(7, Image1.Picture.Icon);
   ts.ImageIndex:=-1;

    SL := TPanel.Create(ts);
        // put TWebbrowser on TTabShee
    TControl(WB).Parent := ts;
    TControl(sl).Parent := ts;
    sl.Visible:=true;
    SL.Width:=520;
    SL.Height:=22;
    SL.Top:=0;
    SL.Left:=0;

    PageControl1.ActivePage := ts;

  except
    ts.Free;
  end;
end;


попробуй smile  аську делаеш... или чат... немного подправиш... тебе надо привязать парент к закладке. я аську пишу.




Это сообщение отредактировал(а) Sanchezzz - 26.8.2007, 00:17


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Pentium02
Дата 26.8.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 29.4.2006
Где: Россия

Репутация: нет
Всего: 1



Спасибо  smile  пашет. Я тоже аську)

Это сообщение отредактировал(а) Pentium02 - 26.8.2007, 00:44
PM MAIL WWW ICQ   Вверх
Sanchezzz
Дата 26.8.2007, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



это как подобрался к компонентам может пригодится на закладке.

Код

var
Sl:Tpanel;
i:integer;
begin
i:=PageControl1.ActivePageIndex;
if Form1.PageControl1.Pages[i].Controls[0] is TPanel then  begin
Sl:=Tpanel(Form1.PageControl1.Pages[i].Controls[0]); 
//Controls[0] это номер первого компонента который был создан на закладке и присвоен паренту
Sl.visible:=true;
end;


Это сообщение отредактировал(а) Sanchezzz - 26.8.2007, 00:59


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
GORA
Дата 29.8.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 28.8.2007
Где: Stavropol

Репутация: нет
Всего: нет



Что то я не совсем в коде разобрался, у меня получается, что на каждой последующей созданой TabSheet, компонент появляется, но на предыдущих пропадает..Если можно выложите пожалуйста полный код(тоже аську пишу) smile 

Это сообщение отредактировал(а) GORA - 29.8.2007, 13:09
PM MAIL ICQ   Вверх
Sanchezzz
  Дата 29.8.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



смотри пример не охота расписывать.


Присоединённый файл ( Кол-во скачиваний: 20 )
Присоединённый файл  __________.rar 5,33 Kb


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
GORA
Дата 29.8.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 28.8.2007
Где: Stavropol

Репутация: нет
Всего: нет



 smile ну вот в этом примере тоже такая же проблема, то есть  Tmemo переносится на новую вкладку, и исчезает со старой.Подскажите пожалуйста, что сделать, или может я что то делаю не так? smile 
PM MAIL ICQ   Вверх
Sanchezzz
  Дата 29.8.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



ой извиняюсь самого начало написал не то smile 
Код

function tform1.CreateTab( sCaption: string): TTabSheet;
var
  ts: TTabSheet;
  SL:TMemo;
begin
  ts := TTabSheet.Create(PageControl1);
  Result := ts;
  try
    ts.PageControl := PageControl1;
    ts.Parent := PageControl1;
    ts.Caption := Format('(%s)', [sCaption]);
    ts.PageIndex := PageControl1.ActivePageIndex + 1;
    ts.ImageIndex:=-1;
    SL := Tmemo.Create(ts);
    TControl(sl).Parent := ts;
    sl.Visible:=true;//тут у меня стоял false извиняюсь поставьте true это можно удалить даже !!!
    sl.Align:= alClient;
    // or:   Ts.InsertControl(WB);
    PageControl1.ActivePage := ts;
  except
    ts.Free;
end;
end;

  

Это сообщение отредактировал(а) Sanchezzz - 29.8.2007, 22:24


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
GORA
Дата 30.8.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 28.8.2007
Где: Stavropol

Репутация: нет
Всего: нет



ооо, точно, заработало, спасибо огромное smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.