Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизПереход на формы по закладкам Найти похожие ветки
← →
CyBeR © (2004-07-06 04:49) [0]Добрый день! Кто нить знает как перемещаться по формам с помощью закладок. Имеется куча модальных окон, надо, чтобы при открытии формы создавалась закладка (Tabset), а при закрытии формы она ес--но удалялась.
← →
CyberSpy88 (2004-07-06 05:03) [1]Посмотри на torry
← →
CyBeR © (2004-07-06 05:37) [2]2 CyberSpy88 извини, эт где???
← →
CyBeR © (2004-07-06 05:39) [3]понял, не дурак ;-) смотрю
← →
CyBeR © (2004-07-06 05:46) [4]че-то не нашел нихрена
← →
TUser © (2004-07-06 07:06) [5]Не работал, честно говоря, с этим компонентом ни разу, но в справке сказано
One tab is created for each string.
Соотв. при создании форму - создавай новую строчку, при закрытии формы - удаляй ее. Зачем тут торри?
← →
Кщд © (2004-07-06 07:24) [6]tcChildren: TTabControl;
Sender: TForm;
так добавляем
tcChildren.Tabs.AddObject(Sender.Caption{tvNavigate.Selected.Parent.Text}, Sender);
так показываем
на OnChange TTabControl:
TForm(tcChildren.Tabs.Objects[tcChildren.TabIndex]).BringToFront;
← →
CyBeR © (2004-07-06 23:13) [7]Спасибо, дома попробую.
← →
CyBeR © (2004-07-07 00:53) [8]я делал так, на событие OnCreate формы.
Закладка не добавляется.
На всякий случай:
формы удалены из списка автосоздаваемых.
Когда создаешь еще одну форму (та же форма, тока капшн другой) появляются две закладки, одна пустая, одна с Caption второй формы.
Может надо делать так??: MainTabset.Tabs.AddObject("bla-bla",Form1).
Плохо проверить не могу делфа не установлена. Но я точно помню, так как долго с этим фозился и спрашивал уже.
← →
TUser © (2004-07-07 09:38) [9][5] точно работает.
← →
CyBeR © (2004-07-07 10:03) [10]Проверил я дома - эффект тот же.
Вот код, который я использую:
onCreate формы:......
onChange Tabset-a:
procedure TGroupsForm.FormCreate(Sender: TObject);
begin
with ParentFM.TabSet do begin
Tabs.AddObject("nevermind",GroupsForm);
end;
ParentFM.TabSet.RePaint; //приходится прорисовывать, иначе закладка просто не появляется//
......
if (Sender is TTabset) then
......
with (Sender as TTabset) do
TForm(TabSet.Tabs.Objects[TabSet.TabIndex]).Show;
Короче, при попытке перехода он есс-но пишетTabindex is out of bounds(-1)
← →
CyBeR © (2004-07-07 10:05) [11]2 TUser ©
>[5] точно работает.
что работает-то, закладки создаются???
← →
CyBeR © (2004-07-07 14:22) [12]ну что, никто не поставит на путь истиный??? ;-)
← →
TUser © (2004-07-07 14:30) [13]А тебе что надо? Создай закладку для каждой формы и переключайся м. ними.
← →
CyBeR © (2004-07-07 14:34) [14]суть в том что они создаются, но переключения не происходит, смотри [10]
← →
TohaNik © (2004-07-07 14:48) [15]Я сделал так...
на OnCreate MDI формы на главной форме создаю ToolBar-е
кнопку с именем = имени, кепшеном = кепшену и Tag = Handle создаваемой формы
В OnClick кнопки проверяю на всяк случай существует-ли форма
если да то BringWindowToTop(сюда таг нажатой кнопки)
А на FormDestroy уничтожаю кнопку с именем формы
Второй день работает - пока без проблем.
← →
CyBeR © (2004-07-07 23:13) [16]TohaNik ©
форм много создаешь???
при нажатии те формы активизируются???
ща попробую, посмотрим
Просто я хотел именно с Табсетом
Кстати когда у тебя заполнено все пространство тулбара, размер кнопок уменьшатся???
← →
TUser © (2004-07-08 07:53) [17]
> суть в том что они создаются, но переключения не происходит,
> смотри [10]
Сделай прощеprocedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
i:=length(Form2);
setLength(Form2,i+1);
Form2[i]:=TForm2.create(Application);
Form2[i].Caption:="Form2 ("+inttostr(i)+")";
TabSet1.Tabs.Add(inttostr(i));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Cur:=-1;
end;
procedure TForm1.TabSet1Click(Sender: TObject);
var i:integer;
begin
i:=TabSet1.TabIndex;
if i <> Cur then
if (i<length(Form2)) and (i>=0) then begin
Cur:=i;
for i:=0 to length(Form2)-1 do
Form2[i].Hide;
Form2[Cur].Show;
Form2[Cur].SetFocus;
end;
end;
Form2 - это здесь дин. массив.
← →
TohaNik © (2004-07-08 09:25) [18]>CyBeR © (07.07.04 23:13) [16]
Сколько нужно пользователю столько и создается.
Ест-но активизируются иначе зачем это нужно.:)
>Кстати когда у тебя заполнено все пространство тулбара, размер кнопок уменьшатся???
Красоту еще не наводил - проверяю пока чтоб работало без проблем.
Ну а так думаю над двумя вариантами:
-Либо уменьшать размер кнопок(кстати SpeedButton плохо подходит-нет выравнивания и кепшены обрезаются по краям хотя Hint на весь кепшен, но всеравно не красиво)
- Или когда не помещаются как-то в два ряда создавать
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c