Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
ВнизSelWindowsPos Найти похожие ветки
← →
Alex-21 (2003-11-03 21:39) [0]У меня две формы: Form1 (главная) и Form2.
Вот ниже код, в котором при нажатии на Button1 появляется вторая форма:
procedure TForm1.Button1Click();
begin
Form2.Show;
end;
И у меня к Вам вопрос, уважаемые мастера:
Где я должен поместить функцию SelWindowsPos(Form2.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE)?
Нужно сделать, чтобы после нажатия на Button1 вторая форма (Form2) была неактивной.
← →
wicked (2003-11-03 21:48) [1]примерно так -
> begin
> Form2.Show;
Form1.SetFocus;
> end;
← →
Alex-21 (2003-11-03 21:52) [2]Но мне нужно, чтобы вторая форма была и поверх окон и нактивной.
← →
DimaK (2003-11-03 22:23) [3]Сделай форму SatyOnTop и в ее свойствах допиши
procedure TForm1.FormPaint(Sender: TObject);
begin
Application.RestoreTopMosts;
end;
Я сам так делаю и усе прекрасно работает.
← →
Alex-21 (2003-11-04 17:48) [4]
> DimaK © (03.11.03 22:23) [3]
> Сделай форму SatyOnTop и в ее свойствах допиши
>
> procedure TForm1.FormPaint(Sender: TObject);
> begin
> Application.RestoreTopMosts;
> end;
Это действительно работает, но мне нужно, чтобы ещё и неактивной стала.
← →
Alex-21 (2003-11-05 13:28) [5]Неужели никто не знает!!!
← →
esVer (2003-11-05 13:52) [6]
> Неужели никто не знает!!!
Самому подумать трудно?
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
SetWindowPos(Form2.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
SetFocus;
end;
← →
Alex-21 (2003-11-05 18:11) [7]
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> Form2.Show;
> SetWindowPos(Form2.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE
> or SWP_NOSIZE or SWP_NOACTIVATE);
> SetFocus;
> end;
Но это меня не устраивает.
А без SetFocus"а нельзя как-нибудь сделать?
А для чего тогда SWP_NOACTIVATE, ведь понятно из этого слова, что форма должна быть неактивной, но не работает.
А если мне надо не на главную форму фокус переводить, а на другую прогу, которая была активной перед тем, как запустить свою прогу.
← →
esVer (2003-11-05 21:28) [8]
> А если мне надо не на главную форму фокус переводить, а
> на другую прогу, которая была активной перед тем, как запустить
> свою прогу.
А чего ж ты людям мозги компостируешь?
http://www.delphimaster.ru/vopros/index.html
var
h_old: HWND;
begin
h_old:=GetForegroundWindow;
//тут твои действия
SetForegroundWindow(h_old);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.026 c