ПредишенСледващото

Налице е функция на Windows API, който ви позволява да се свързват един прозорец до ръба на екрана. Има съобщения, използван в Windows. Delphi прави обработката на съобщението лесно чрез използването на събития, които обикновено се генерират в отговор на съобщение на Windows, след това го изпраща към заявлението.

Въпреки че много съобщения на Windows се обработват от Делфи, но трябва да бъде финализирана. Например, можем да знаем дали форма промените размера (с помощта на събития OnResize WM_SIZE и обработка на съобщенията). Но как да знаем, че формата е била преместена? Delphi може да получи съобщението, но първоначално нищо, за да го няма.

WM_MOVING съобщение, изпратено до прозореца, когато потребителят се движи. Чрез обработка на това съобщение, заявление може да следи размера и позицията на движимо прозореца и ако е необходимо, да промените размера му или позиция.

WM_WINDOWPOSCHANGING съобщение, изпратено до прозореца при смяна на размера, позицията, или Z-реда, по функция на повикване SetWindowPos или функция прозорец контрол.

Обикновено съобщение до нас не е достатъчно, ние трябва да знаем и повече. Например, WM_MOVE съобщение ни казва, че положението се е променило във форма, но също така има LPARAM опция. който може да ни даде Х и Y позиция.

В WM_WINDOWPOSCHANGING мнения само един параметър, който показва структурата WINDOWPOS. който съдържа информация за новия размер и положение на прозореца. WINDOWPOS структура се определя, както следва:

В нашия случай, ние ще направим тази форма от залепване към ръба на екрана на известно разстояние, например, 20 пиксела от ръба.

Мнение WM_WINDOWPOSCHANGING

Отмени се придържа към всеки край на екрана, е проста, просто трябва да се премахне част от код, който е отговорен за сайта.

SystemParametesInfo нарича с SPI_GETWORKAREA като първи параметър и получава размера на работната площ на екрана (десктоп). Ние ще го използвате за определяне на използваемата площ, с изключение на лентата на задачите на Windows, ленти с инструменти и т.н.

Програма код:

Сега започване на проекта и да се премести на прозореца до ръба на екрана, за да видите ефект на прилепване.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!