Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-56914
TCrash
2003-10-25 00:32
2003.11.17
Хандра :-(


11-56541
DvL
2003-02-27 06:38
2003.11.17
KOL&MCK


3-56475
Dunmer
2003-10-27 14:53
2003.11.17
Какой объект для Query выступает в качестве DataSource


14-56826
REA
2003-10-28 10:33
2003.11.17
В каждой шутке...


1-56565
maxi
2003-11-06 13:12
2003.11.17
Как заставить TImageList не резать картинки на части ?