Az űrlap használatával
Helló, ebben a cikkben szeretnék egy kicsit beszélni a "ragacsos" ablakokról. Igen, az alkalmazások hatása meglehetősen gyakori, és leggyakrabban egyes játékosoknál, például a Winamp-ban találhatók. Tehát amikor a bass.dll-re alapoztam a lejátszót, volt egy ilyen problémám (szükség volt egy "ragacsos" ablak megszervezésére). A probléma úgy döntöttem, hogy ez nem túl szép, és kiderült, nem túl kényelmes és erősen "buggyos". És mindezt TTimeren keresztül tettem. Vagyis az Interval 1-et, majd az űrlap létrehozásához írjon egy kódot, amely egy másik űrlaphoz ragaszkodik a fő űr széléhez. Vagyis csak az időzítőn állítottam le az új formát. Most megoldottam ezt a problémát az űrlap áthelyezésekor elküldött üzenetek feldolgozásával, a hatás ugyanaz volt, mint az időzítővel, de nem "hiba". Vannak olyan módok, amelyek "ragacsos" ablakokat és másokat hoznak, talán jobbak, de valahogy meggondoltam. Nézzük még, mielőtt egy "ragacsos" ablakot hozunk létre a másikhoz képest, az elemek bármelyik elemére mozogni fognak. Ehhez a WMNCHitTest üzenet feldolgozását fogjuk használni.
Nyilatkoztunk az eljárásról a magán-eljárás hozzáférési specifikációban WMNCHitTest (var M: TWMNCHitTest); üzenet wm_NCHitTest;
Ezután állítsuk a kurzort erre az eljárásra, és nyomjuk meg a Ctrl + Shift + C billentyűkombinációt, miután elkészítjük az eljárásunkat.
Most írja be az alábbi kódot az eljárásunkba
Amit itt csinálunk, egyszerűen hozzárendeljük címünket az eredményeinkhez. Vagyis minden régióban, amikor a kurzort az űrlapon nem rögzítettük, mindig úgy gondoljuk, hogy ez egy címsor, és szabadon lehet mozgatni az űrlapot bármelyik területére.
Most beszéljünk egy kicsit arról, hogyan lehet az ablakunkat a képernyő széleihez ragaszkodni. Nem kell itt programoznunk, az űrlapnak van ScreenSnap tulajdonsága, amely ezt a hatást True értékre állítja. A SnapBuffer tulajdonság határozza meg azoknak a képpontoknak a értékét, amelyekről a képernyő széleihez tapad.
Most a nagyon "ragacsos" ablakról egy másik ablakra. Nos, először létrehozunk egy további űrlapot, és írjuk a kódot az OnShow TForm1 eseményre, amely meghatározza űrlapjaink kezdeti helyzetét.
Ezután nyomon kell követnünk a fő formánk mozgását, és meg kell változtatnunk ugyanazt a másodlagos formát. Ehhez a WMMoving üzenetet feldolgozzuk
A privát hozzáférési specifikátorban a következő eljárást deklaráljuk
WMMoving eljárás (var msg: TWMMoving) WM_MOVING üzenet;
Ezután állítsa a kurzort erre az eljárásra, majd nyomja meg a billentyűzet következő billentyűkombinációját - Ctrl + Shift + C. miután megjelenik az eljárásunk ürese, és írjuk be a következő kódot
Ez minden, akkor csak nézzük, hol található a fő formánk és mögötte van egy másodlagos formája. Mivel nem látsz semmi nehézséget. Befejeződhet és elég jó eredményt érhet el, de hatékonyabb és jobb módot talál, de mostantól fogva.
Egyébként azt akarom mondani, hogy a háttérkép megválasztása csak a legjobb és nem túl világos, ezért jó volt a szemnek
A forrás itt tölthető le