Sticky - Windows, WinAPI програмиране, статии, програмиране - C програмиране,
Въпреки факта, че Delphi обработва огромен брой съобщения, някои от тях са "пренебрегнати". Например, знаем, че ако нашата програма трябва да се справи с преоразмеряването на формуляр, тогава пишем манипулатор на събития за събитието OnResize - по този начин Delphi обработва съобщението WM_SIZE, но как можем да определим, че формата се движи около екран? Формата Delphi получава съответното съобщение, но не го обработва.
Съобщението WM_MOVING се изпраща до прозорец, който се премества от потребителя. След обработката на това съобщение приложението може да получи информация за размера и позицията на преместения правоъгълник и, ако е необходимо, да ги промени.
Съобщението WM_WINDOWPOSCHANGING се изпраща до прозорец, чийто размер, позиция или видимост трябва да се променят в резултат на повикване към функцията SetWindowPos или друга функция за контрол на прозореца.
Понякога самият факт, че се е случило събитие, не е достатъчен и се нуждаем от повече информация за него. Например, след като получихме съобщението WM_MOVE, научавамеиЯдем не само, че позицията на формата се е променила, но и новите координати X и Y на нашия прозорец.
Съобщението WM_WINDOWPOSCHANGING ни позволява да получим малко повече данни - получаваме указател към структурата WindowPos, който съдържа информация за новите координати и размера на прозореца. Тази структура е описана по следния начин: