Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизИнтерфейс как в Delphi? Найти похожие ветки
← →
GanibalLector © (2004-06-06 14:48) [0]Знаю,что вопрос этот задавался сотни раз,но раньше как-то не обращал внимания на все это.Итак,вопрос:как сделать интерфейс подобный Delphi или IBExpert(т.е.2-3 постоянно открытые формы).Собственно интересует механизм...КАК???
← →
jack128 © (2004-06-06 15:07) [1]в OnActivate главной формы пропиши MyOtherForm1.Show; MyOtherForm2.Show; я думаю..
← →
GanibalLector © (2004-06-06 15:11) [2]2 jack128 © (06.06.04 15:07) [1]
Не...это не то.А если вдруг потребуется СРОЧНО вернутся в Form1 и что???пока не закрою Form2 в Form1 не попаду.
Тут надо что-то другое
← →
YurikGl © (2004-06-06 15:12) [3]MDI+f1
← →
YurikGl © (2004-06-06 15:15) [4]Если конкретнее, то у главной формы выставляешь
FormStyle = fsMDIForm
У дочерних
FormStyle = fsMDIChild;
← →
GanibalLector © (2004-06-06 15:16) [5]2 YurikGl ©
Нет...с MDI я знаком.
Я хочу изменить КООРДИНАЛЬНО интерфейс,а MDI тут не при чем(там все форму будут открываться в главной,что не устраивает)
← →
jack128 © (2004-06-06 15:18) [6]
> А если вдруг потребуется СРОЧНО вернутся в Form1 и что???пока
> не закрою Form2 в Form1 не попаду.
во первых закрывать нечего не надо - достаточно просто кликнуть по нужному окну мышкой, покрайней мере Дельфи я делаю так ;-) (не считая горячих клавиш)
Вообще я погоречился - это нужно прописать в OnActivate Application, конечно.
← →
GanibalLector © (2004-06-06 15:18) [7]2 YurikGl ©
Ты что Delphi не видел??? :)
Сам посмотри...панель инструментов,инспектор обьектов,окно формы.И ты в любой момент можешь выбрать любое окно и работать с ним...вот и мне так нужно.
← →
YurikGL © (2004-06-06 15:19) [8]
> 2 jack128 © (06.06.04 15:07) [1]
> Не...это не то.А если вдруг потребуется СРОЧНО вернутся
> в Form1 и что???пока не закрою Form2 в Form1 не попаду.
> Тут надо что-то другое
Почему не попадешь? Это ж не showmodal?
← →
GuAV © (2004-06-06 15:21) [9]Длай каждую форму видной на таскбаре - будет срочность.
или в каждой - кнопки для показать каждую из остальных.
← →
GanibalLector © (2004-06-06 15:21) [10]2 jack128 ©
Ну,незнаю.Попробовал я так,как ты говоришь,но Form1 при открытой Form2 вообще не активен.
← →
YurikGL © (2004-06-06 15:23) [11]Для прикола сделал так:
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.show;
end;
Между фомами перемещаюсь мышкой
← →
GuAV © (2004-06-06 15:26) [12]
> но Form1 при открытой Form2 вообще не активен
А разве в IDE Delphi мож быть более одной активной формы?
← →
GanibalLector © (2004-06-06 15:26) [13]А что ставить в BorderStyle и FormStyle? По умолчанию?
← →
YurikGL © (2004-06-06 15:27) [14]
> GanibalLector © (06.06.04 15:26) [13]
> А что ставить в BorderStyle и FormStyle? По умолчанию?
Что тебе надо, то и ставь. :)
← →
GuAV © (2004-06-06 15:28) [15]
> А что ставить в BorderStyle и FormStyle? По умолчанию?
Твой интэрфэйс - Твоё дело :)
← →
jack128 © (2004-06-06 15:29) [16]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AppEvnts;
type
TForm1 = class(TForm)
ApplicationEvents1: TApplicationEvents;
procedure ApplicationEvents1Activate(Sender: TObject);
procedure ApplicationEvents1Deactivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
ActiveForm: TForm = nil;
procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Screen.FormCount - 1 do
Screen.Forms[i].Show;
if Assigned(ActiveForm) then
ActiveForm.SetFocus
else
Application.MainForm.SetFocus;
end;
procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
ActiveForm := Screen.ActiveForm;
end;
end.
← →
GanibalLector © (2004-06-06 15:29) [17]2 GuAV ©
Я не просил две активные формы.Я просил переключение мышью между ними.
← →
YurikGL © (2004-06-06 15:31) [18]YurikGL © (06.06.04 15:23) [11]
Переключает.
← →
GanibalLector © (2004-06-06 15:35) [19]2 YurikGL
Да нифига не переключает твоё [11]
← →
YurikGL © (2004-06-06 15:39) [20]GanibalLector © (06.06.04 15:35) [19]
2 YurikGL
Да нифига не переключает твоё [11]
Как, не переключает? Я ж проверял.....
А у тебя window какой? Если 3.0, - может и не переключать.:)
← →
GanibalLector © (2004-06-06 15:39) [21]2 jack128 © (06.06.04 15:29) [16]
Спасибо тебе БОЛЬШОЕ!!!Как всегда выручил.
← →
GanibalLector © (2004-06-06 15:41) [22]YurikGL © (06.06.04 15:39) [20]
>Я ж проверял.....
Видать плохо проверял...
>А у тебя window какой?
ХР вообщето.
jack128 лучший!!
← →
YurikGL © (2004-06-06 15:44) [23]
> GanibalLector © (06.06.04 15:41) [22]
> YurikGL © (06.06.04 15:39) [20]
> >Я ж проверял.....
> Видать плохо проверял...
> >А у тебя window какой?
> ХР вообщето.
>
> jack128 лучший!!
С последним, - не спорю
У меня XP+D7
Вот вся программа
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.//т.е. без изменений
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
show;
end;
end.
Изменения минимальны. При запуске отображаются оба окна одно поверх другого, но если их разнести между собой, то можно переключаться мышкой.
← →
GanibalLector © (2004-06-06 15:51) [24]2 YurikGL © (06.06.04 15:44) [23]
Все догнал...так и у меня работает.А я,млин,в Form1 писал Form2.Show -вот поэтому и не работало...
Спасибо и тебе YurikGL !
← →
jack128 © (2004-06-06 16:11) [25]
> jack128 лучший!!
Спасибо, конечно, но в данном конкретном случае я бред написал. Дело в том, что весь мой код нужен только если ты хочешь чтобы твои формы показывались при активации программы в ЛЮБОМ случае, то есть даже если ты одно из окон закрыл. А дельфи такого нету.. ;-(
Так что лудше в данном случае - метод YurikGL"а. Или можно просто установить у нужных те форм свойство Visible := True в дезин тайм ;-)
← →
YurikGL © (2004-06-06 18:17) [26]
> jack128 © (06.06.04 16:11) [25]
>
> > jack128 лучший!!
Я подтвердил это основываясь на общем впечатлении, которое у меня сложилось о тебе :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.035 c