Затвори прозореца чуждестранна

Договор за наем за временно съхранение www.alsena.ru.

Аз доста често попита за колко близо някой друг прозорец. Сред Win API е функция CloseWindow, а повечето се опитва да го използва, но само като резултат от прозореца е сведена до минимум, но не е затворена. Какво да се прави?

Отговорът е очевиден, ако прочетете внимателно раздел 3.1. В него, ние говорихме за това, че когато изключите операционната система на компютъра изпраща съобщение до всички прозорци с искане да се затвори. Ние трябва да направим същото.

Нека създадем един прост пример, в който търсите конкретен прозорец, а ако той съществува, за да му изпрати съобщение WM_QUIT което означава изключване. В главния прозорец, ние трябва само един бутон за събитието OnClick, които ще се появят на затваряне (виж Обява 3.1).

Обявата 3.1. Код Закриване на друг прозорец

процедура TForml ButtonlClick (Sender: TObject); Var Вятърни: HWND; Вятърни започне • = FindWindow (ni1 "Untitled - Notepad"), ако Вятърни <> 0, тогава PostMessage (Вятърни. WM_QUIT. 1.0).

За изпълнение на примера, създаване на променлива от тип HWND на прозореца, за да съхраните идентификацията, която трябва да бъде затворена, но първо е необходимо да се намери прозорец. За да направите това, използвайте функцията FindWindow. Тя трябва да мине два параметъра: класа прозорци и текст заглавие. Ние няма да усложни живота на дефиницията на класа, така че оставям този параметър е нула, и ние ще търсим втори параметър. В "Notepad" програма заглавната Обява Set. Резултати резерв Търсене в специално определено за тази променлива.

Когато търсенето е забравяйте да проверите резултата. Ако имаме стойност различна от нула, прозорецът е намерен, в противен случай е възникнала грешката, а на прозореца вероятно ще отсъства.

Сега изпратите съобщение. Той използва функцията PostMessage има следните параметри:

• LParam - Вторият параметър на съобщението. За мнения WMQUIT не се използват.

Отворете "Notepad" с празен документ и стартирате програмата ни. След като кликнете върху бутона "Notepad" трябва да се затвори.

Източник код примери, обсъждани тук е върху CD-ROM в източниците директория \ ch03 \ Затвори прозореца.