Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-56593
KSergey
2003-11-05 15:02
2003.11.17
Про грид и InplaceEdit


3-56455
Vick
2003-10-29 12:42
2003.11.17
Как отследить передвижение по записям в DBGrid


7-56926
aterm
2003-09-08 11:15
2003.11.17
Hook на передвижение курсоа мыши


1-56637
explorer
2003-11-05 12:58
2003.11.17
Расположение компонент на форме


1-56617
evgeniy32
2003-11-05 18:47
2003.11.17
Как прочитать строку из *.txt и присвоить ее переменной?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский