Hogyan készítsük el a formát a képernyő széleihez

Van egy Windows API funkció, amely lehetővé teszi, hogy az ablakokat a képernyő széléhez kösse. Itt használják a Windows üzeneteket. Delphi teszi üzenetek kezelése egyszerű használata révén az események, amelyek tipikusan válaszként Windows üzenetet, miután elküldi a kérelmet.

Bár a Delphi számos Windows-üzenetet kezel, néhányat módosítani kell. Például megtudjuk, hogy az űrlap megváltoztatja-e a méretét (az OnResize esemény használatával és a WM_SIZE üzenet feldolgozásával). De honnan tudjuk, hogy az űrlapot áthelyezték? Delphi megkaphatja az üzenetet, de kezdetben semmi sem történik vele.

A WM_MOVING üzenet az ablakba kerül, amikor a felhasználó áthelyezi azt. Az üzenet feldolgozásával az alkalmazás figyelemmel kísérheti az áthelyezni kívánt ablak méretét és helyzetét, és szükség esetén megváltoztathatja annak méretét vagy pozícióját.

WM_WINDOWPOSCHANGING küldött üzenet az ablak, ha változik a mérete, helyzete, vagy Z-rend egy hívás SetWindowPos funkciót vagy egy ablak vezérlő funkció.

Egy egyszerű üzenet nem elég nekünk, tudnunk kell más paramétereket. Például a WM_MOVE üzenet azt mondja, hogy az űrlap pozíciója megváltozott, de rendelkezik az LPARAM paraméterrel is. amely megadja nekünk az X és az Y pozíciót.

A WM_WINDOWPOSCHANGING üzenetnek csak egy paramétere van, amely a WINDOWPOS struktúrára mutat. amely az ablak méretére és pozíciójára vonatkozó információkat tartalmazza. A WINDOWPOS szerkezete a következő:

Esetünkben az alakot egy bizonyos távolságban, például a széltől 20 képpontig ragasszuk a képernyő széléhez.

Üzenet WM_WINDOWPOSCHANGING

A képernyő bármelyik széléhez tapadás megszüntetése egyszerű, csak törölni kell egy olyan kódot, amely felelős a webhelyért.

SystemParametesInfo megadta SPI_GETWORKAREA mint az első paraméter és megkapja a méret a munkaterületet a képernyő (asztali). Ezt a felhasználható terület meghatározására használjuk, kivéve a Tálcát, az Eszköztárat stb.

A program kódja:

Most indítsa el a projektet, és mozgassa az ablakot a képernyő határaihoz, hogy megnézze a tapadást.

Kapcsolódó cikkek