Показать сообщение отдельно
  #5  
Старый 21.10.2008, 11:21
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

Что то я не пойму. Почти аналогично создаю TTabSheet:

Код:
var
  MainForm: TMainForm;
  Tab : TTabSheet;
  REdit: TRichEdit;

procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
  Tab := TTabSheet.Create(PageControl1);
  Tab.Visible := true;
  Tab.Caption := 'Без имени.txt';
  Tab.PageControl := PageControl1;
  Tab.Hint := '';
  Tab.ShowHint := True;
  Tab.PopupMenu := EmptyPopupMenu;
  PageControl1.ActivePageIndex := Tab.TabIndex;
  REdit := TRichEdit.Create(Tab);
  REdit.Parent:= Tab;
  REdit.Align := alClient;
  REdit.PopupMenu := EditPopupMenu;
  Redit.Lines.Clear;
  REdit.Visible := True;
  REdit.SetFocus;
end;

И затем пытаюсь найти активный TTabSheet:

Код:
procedure TMainForm.ToolButton3Click(Sender: TObject);
var
  i : Integer;
begin
  if(SaveDialog1.Execute) then
  begin
    for i:=0 to ComponentCount-1 do
      if Components[i] is TTabSheet then
      begin
        if (Components[i] as TTabSheet).PageIndex = PageControl1.ActivePageIndex then
        begin
          ShowMessage('qwe');
        end;
      end;
    end;
end;

Сколько бы не создавал TTabSheet, ComponentCount у меня всё время равен 31. И ничего не находиться. Любой Components[i] = csInheritable. Что не так?
Ответить с цитированием