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


Автор: dfs- 3.4.2005, 13:25
Помогите с проблемой. Для того чтобы другая форма не вызывала, ту которая под ней, делаю так:
Код
procedure Tfrm_General.CreateParams(var Params: TCreateParams);
 var
 Style:DWORD;
 begin
 Inherited CreateParams(Params);
  Params.WndParent := GetDesktopWindow;
  Style:=GetWindowLong(Application.Handle, GWL_EXSTYLE);
  Style:= WS_EX_TOOLWINDOW;
  SetWindowLong(Application.Handle, GWL_EXSTYLE, Style);
 end;

После этого форму нельзя перетащить за заголовок. Можно ли это как-то исправить?

Автор: FRAGNATIC 3.4.2005, 14:08
а та котороя под ней это форма другого приложения или просто тип главноя форма проги?

Автор: dfs- 3.4.2005, 14:18
не та форма этогоже приложения. Она является главной, но не показывается при запуске.
Потом по кнопке показываю.

Автор: FRAGNATIC 3.4.2005, 15:24
вообщем я не совсем понял как оно у тебя)
но вот http://forum.vingrad.ru/index.php?showtopic=47321 не знаю конечно наврятле под твой случай
ну ещё есть модальные и не модальные окна Show и ShowModal

Автор: dfs- 3.4.2005, 15:39
Вобщем этот вопрос вырос от http://forum.sources.ru/index.php?showtopic=88076
Прошу прощения, если нельзя постить с другого форума, но просто долго заново объяснять.

Автор: s-mike 4.4.2005, 08:04
После вставки вышеприведенного кода форма нормально перемещается.

Автор: nickelfire 4.4.2005, 19:13
Не уверен что правильно понял но почему-бы просто не поменять местами
Код

Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;


на
Код

Application.Initialize;
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1); 
  Application.Run;

тогда первой будет показываться форма 2.

Автор: Гость_dfs- 10.4.2005, 22:25
2 nickelfire
Так дело в том, что если ее вызвывать второй то она не будет главным, а значит и не будет поверх всех (ест-но Style:= fsStayOnTop). Другого решения сделать окно поверх всех я не нашел(

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