Formák módszerei és eseményei - vizuális alap 5

Formák módszerei és eseményei

A "A program megalapítása vagy az űrlapok alapvető tulajdonságai" c. Cikkben megfogalmazott formák főbb tulajdonságait figyelembe véve itt az ideje megvizsgálni a formák alapvető módszereit és eseményeit.

Csak ezután kezdjen kódot írni.

És a főbb munkaterületek tudatlansága ezen és az irányító elemekkel azt eredményezi, hogy a kódírásra fordított idő elveszik, és az eredményt nem érik el. Nagyon sértő lesz, ha kifejlesztett egy algoritmust az alkalmazáshoz, megfeledkezve egy olyan módszerről, amely két szálat tartalmaz. És kiderül, hogy minden erőfeszítést elpazaroltál.

Annak megakadályozására, hogy ez ismét megtörténjen, azt tanácsolom, hogy mindig emlékezzen arra, hogy mit és mit tud csinálni, vagy ez a művelet egy kontrollon vagy változón.

Először nyissa meg az Eszközök menü Beállítások ... párbeszédpaneljét. Ellenőrizze, hogy az Automatikus taglista jelölőnégyzet be van-e jelölve - automatikusan megjeleníti a kiválasztott objektum tulajdonságainak és módszereinek listáját.

Formák módszerei és eseményei - vizuális alap 5

1. ábra: Beállítások párbeszédpanel. a Szerkesztõ lapot

Ha ez az opció engedélyezve van, a név és a pont beírása után megjelenik a kiválasztott objektum összes tulajdonságának és módjának listája. Ha a kullancs nem éri meg azt, azt tanácsolom, hogy tegye meg, ami megkönnyíti a kód megírását. A tulajdonságokat vagy a módszert mindig újra beilleszthetjük, anélkül, hogy beírnánk a billentyűzetre.

Tanács. Annak érdekében, hogy a programkódban a formanyomtatványhoz hozzáférjen, a jelenlegi űrlap neve helyett használhatja az Operátort. amely lehetővé teszi számunkra, hogy egy kicsit egyszerűsítsük a kódot, és ismét ne feledkezzünk meg az űrlap nevéről.

Formák módszerei és eseményei - vizuális alap 5

2. ábra: A kiválasztott objektum módszereit és tulajdonságait tartalmazó menü

A kívánt módszert az egérrel vagy a billentyűzet Tab billentyűjével választhatja ki. Ha az Enter billentyűt használja. akkor a következő sorra lép, és nem állítja be a kiválasztott tulajdonság értékét, azaz új erőfeszítéseket kell tennie ahhoz, hogy visszatérjen a kívánt vonalhoz.

A tulajdonságok és a módszerek különböző ikonokkal rendelkeznek, így könnyen megkülönböztethetők.

Vegyük fontolóra az űrlapmal való együttműködés alapvető módszereit

Kör - lehetővé teszi ellipszis, kör, ív vagy szektor rajzolását. Állítsa az AutoRedraw űrlap tulajdonságot True értékre.

Object.Circle [Lépés] (X, Y), Radius, [Color], [Beginning], [End], [Ratio]

Me.Circle (1000. 1000), 500. vbRed

Piros színű kört húz, 500-as sugárral.

Me.Circle (1000. 1000), 500. vbRed. 0.5

A függőleges tengely mentén ellipszit rajzol.

Const P = 3,141593

Me.Circle (1000. 1000), 500. vbRed. P / 2

A program egy olyan kört húz, amely különböző sraffozási stílussal és különböző rajz színekkel rendelkezik.


Private Sub Form_Load ()
Timer1.Interval = 100
End Sub

Privát időzítő1_Timer ()
Const P = 3,141593
Dim i mint egész
Dim dblStart, dblEnd As Double

dblEnd = -0,001
I = 1-től 6-ig
FillStyle = i + 1
dblStart = dblEnd
FillColor = Int (Rnd (1) * 65535) + 16777215
ForeColor = Int (Rnd (1) * 16777215) + 65535
DrawWidth = 2
dblEnd = - (2 * P / 6) * i
Kör (150. 100), 70. dblStart, dblEnd
következő
End Sub

Elrejtés - lehetővé teszi egy űrlap eltávolítását a képernyőn, de nem távolítja el a memóriából.

Vonal - lehetővé teszi vonal vagy téglalap rajzolását. Állítsa az AutoRedraw űrlap tulajdonságot True értékre.

Objektum LINE [Lépés] (X1, Y1) [Lépés] - (X2, Y2). [Szín], [B] [F]

A zárójelben a szükséges paraméterek kerülnek meghatározásra, négyzetben nem kötelezően.

Kék vonalat rajzol.

Egy vonalat rajzol az űrlap ForeColor tulajdonságában beállított színnel.

Rajzol egy piros négyzetet.

Mozgatás - az űrlap áthelyezése.

Me.Move [Left Edge], [Top Edge], [Width], [Magasság]

A méret megváltoztatásával mozgatja az alakot.

Me.Move 100. 7000

Áthelyezi az űrlapot, a méretparaméterek nincsenek megadva.

PaintPicture - lehetővé teszi, hogy egy adott területet másoljon egy űrlapon vagy a PictureBoxon egy másik rajzra. Állítsa az AutoRedraw űrlap tulajdonságot True értékre.

Me.PaintPicture [Forrás], [X1], [Y1], [Width1], [Height1], [X2], [Y2], [Width2], [Height2], [Operation]

Operátorparaméter állandók:

Const vbDstInvert = 5570569 (H550009)

A végleges rajz visszafordítása.

Const vbSrcAnd = 8913094 (H8800C6)

AND művelet, a forrás és a végleges képpontok esetében.

Const vbSrcInvert = 6684742 (H660046)

XOR művelet, a forrás és a végleges képpontok esetében.

Const vbSrcPaint = 15597702 (HEE0086)

VAGY művelet, a forrás és a végleges képpontok esetében.

Az 1. képből egy képet másol egy alakra, és a megadott koordináták szerint vágja le.

Pont - visszaadja a kiválasztott pont színértékét. Ha a koordináták kívül esnek az űrlapon, akkor visszatér a -1 érték.

Label1 = Me.Point (2. 2)

PopupMenu - lehetővé teszi a helyi menü megjelenítését.

Privát Sub Form_MouseDown (Gomb mint egész, Shift mint egész, X ​​mint egy, Y mint egyszemélyes)
Ha Button = 2 és vbRightButton Ezután
ellenőrizze, hogy megnyomja-e a jobb egérgombot
PopupMenu mnuFile
End If
End Sub

Nyomtatás - nyomtassa ki a szöveget az űrlapon. Állítsa az AutoRedraw űrlap tulajdonságot True értékre.

Me.Print "Gratulálok!" vbCrLf "Mindenkinek a legjobbat kívánom!"

PSet - Az adott hely pontjának rajzolása egy adott helyen. A DrawWidth tulajdonság felelős az objektum vastagságáért.

Object.PSet [Lépés] (X, Y), [Color]

Me.DrawWidth = 10
Me.PSet (100. 100), vbRed

Frissítés - frissíti az űrlapot.

Mérleg - a skála beállítása.

ScaleX - az űrlapmagasság értékének konvertálása egy egységből (ScaleMode-ban van beállítva) egy másikba.

ScaleY - az űrlap szélességi értékének konvertálása az egyik (a ScaleMode-ban telepített) egységek közül másoknak.

SetFocus - transzfer fókuszformát. Egy űrlap csak akkor veszi fel a fókuszt, ha nincs rajta kontroll, vagy nem látható vagy elérhető.

Megjelenítés - betölti vagy megjeleníti az űrlapot a képernyőn, ha nem töltődik be a memóriába, akkor a módszer lehetővé teszi a betöltést.

TextHeight - visszaadja a megadott karakterlánc magasságát.

Label1 = Me.TextHeight ("Gratulálok!" vbCrLf "Mindenkinek a legjobbat kívánom!" )

TextWidth - A megadott karakterlánc szélességét adja vissza.

Label1 = Label1 Tér (1) Me.TextWidth ("Gratulálok!" vbCrLf "Mindenkinek a legjobbat kívánom!" )

Vegye figyelembe az űrlap fő eseményeit

3. ábra Objektumlista

Formák módszerei és eseményei - vizuális alap 5

4. ábra Eljárás lista

Annak érdekében, hogy nyomon kövesse az eseményeket a rendszerben, pl. melyik sorrendben, tekintse meg a példát. Ebben a példában, ha egy esemény bekövetkezik az űrlapon, a megfelelő szöveg lesz elhelyezve, amely tájékoztatni fogja Önt arról, hogy az események melyik sorrendben fordulnak elő. Az első esemény az Initialize esemény.

Private Sub Form_Activate ()
Nyomtatás "Aktivál esemény"
End Sub

Privát Sub Form_GotFocus ()
Nyomtatás "GotFocus esemény bekövetkezik"
End Sub

Private Sub Form_Load ()
Nyomtatás "Load event occurs"
End Sub

Private Sub Form_Resize ()
Nyomtatás "Az esemény átméretezése megtörténik"
End Sub

Formák módszerei és eseményei - vizuális alap 5

5. ábra: A program eredménye

Aktiválás - akkor jelenik meg, ha az űrlap aktívvá válik. összpontosít. Csak akkor működik, ha átvált a projektformák között. Minden alkalommal megjelenik, amikor az űrlap aktiválva van.

Kattintás - az egér kattintásával, az űrlap üres helyén jelenik meg. Mind a jobb, mind a bal gombok.

A DblClick - dupla kattintással, a jobb és a bal gombbal történik. És a Click esemény még mindig megtörténik.

Privát Sub Form_Click ()
Nyomtatás "1"
End Sub

Privát Sub Form_DblClick ()
"2" nyomtatás
End Sub

Deaktiválás - egy esemény bekövetkezik, amikor az űrlap már nem aktív. Az Aktiválás eseményével szemben. Akkor fordul elő, ha a fókusz elvész. Csak akkor működik, ha átvált a projektformák között.

DragDrop - a drag-and-drop művelet befejezésekor következik be. Abban a pillanatban, amikor az elem visszaáll az űrlapra.

Private Sub Form_DragDrop (forrás vezérlőként, X mint egy, Y egyedileg)
Nyomtatás "A gomb mozgatásának megpróbálása"
End Sub

Private Sub Form_Load ()
Command1.DragMode = 1
End Sub

DragOver - akkor jelenik meg, amikor a forrás objektum a címzett objektum fölött van, de a gomb még nem kerül kiadásra.

GotFocus - akkor jelenik meg, amikor a fókuszformát kapja. A Tab billentyű megnyomásával vagy a SetFocus módszer használatával.

Inicializálás - az űrlap létrehozásakor következik be, és csak egyszer fordul elő. Az űrlap betöltése előtt a konfiguráció során.

KeyDown - akkor jelenik meg, ha az űrlap fókuszban van, és a felhasználó megnyom egy billentyűt a billentyűzeten.

A KeyPress - akkor jelenik meg, ha megnyomja és lenyomva tartja a gombot. A visszatartás pillanata pedig nagyon gyors, szinte azonnal. Ezzel az eseménysel kaphatjuk meg a gomb kódját.

KeyUp - akkor jelenik meg, ha az űrlap fókuszban van, és a felhasználó kiad egy billentyűt a billentyűzeten.

Terhelés - töltse be az űrlapot a memóriába, mielőtt megjelenik a képernyőn. Ez az eseménynek csak egy űrlapja van. Az űrlap kitölthető és újratölthető az alkalmazás végrehajtása során, ahányszor szükséges. Ezért az esemény a fejlesztő kérésére többször is előfordulhat.

Valószínűleg ez a leggyakrabban használt esemény. Az eseménykód végrehajtásra kerül, amíg az űrlap még mindig nem látható a képernyőn.

Ezt használhatja az űrlap viselkedésére és megjelenésére.

Központosítsa az űrlapot a képernyőn.

Private Sub Form_Load ()
Me.Move (képernyő szélessége - szélesség) / 2. (Screen.Height - magasság) / 2
End Sub

LostFocus - akkor fordul elő, ha az alak elveszti a fókuszt.

MouseDown - akkor jelenik meg, amikor az egérgombot megnyomják az űrlapon.

MouseMove - akkor jelenik meg, ha az egérmutató az űrlapon mozog.

MouseUp - csak akkor jelenik meg, ha a felhasználó az űrlapra kattintva kiadja az egérgombot.

MouseDown események. A MouseMove és az MouseUp ugyanazokkal a paraméterekkel rendelkezik:

Form_MouseDown (Gomb mint egész, Shift mint egész, X ​​mint egy, Y mint egyszemélyes)
Form_MouseMove (Gomb, mint egész, Shift mint egész, X ​​mint egy, Y mint egyszemélyes)
Form_MouseUp (Gomb mint egész, Shift mint egész, X ​​mint egy, Y mint egyszemélyes)

Gomb - az egér gombjának számát tartalmazza.

Const vbLeftButton = 1

Const vbMiddleButton = 4

Const vbRightButton = 2

Const vbAltMask = 4

Const vbCtrlMask = 2

Const vbShiftMask = 1

Az egérmutató X, Y - koordinátái, ahol az esemény bekövetkezett.

QueryUnload - a kibontás előtt kerül elő. az űrlap bezárása előtt. Ha egy esemény feldolgozásakor a paramétert a paraméter értékének Igaz értékre állítja, az űrlap kirakodása törlődik.

Az UnloadMode paraméter azt az értéket tartalmazza, hogy miért zárta be az űrlapot.

UnloadMode paraméterállandó:

Const vbAppTaskManager = 3
- a Ctrl + Alt + Del billentyűk megnyomásával
Const vbAppWindows = 2
- amikor a Windows befejeződik
Const vbFormCode = 1
- Az Unload eseményt az alkalmazáskódban hívják
Const vbFormControlMenu = 0
- az ablak menüjének "Bezárás" elemére kattintva, az űrlap fejlécében.
Const vbFormMDIForm = 4
- hogy bezárja a fő formát, a gyermek bezárul.

Private Sub Form_QueryUnload (törlés az egész számként, UnloadMode as Integer)
Ha UnloadMode = vbFormControlMenu Akkor
Mégse = Igaz
End If
End Sub

Átméretezés - akkor jelenik meg, ha az űrlap alakja megváltozik. A formátum átméretezéséhez használhatja a vezérlőket.

Private Sub Form_Resize ()
Text1.Height = Form1.ScaleHeight
Text1.Width = Form1.ScaleWidth
End Sub

A befejezést a legutóbbi esemény hajtja végre, az Unload után. Ez az eseménynek csak egy űrlapja van.

Letöltés - az űrlap kitöltése és törlése a memóriából. Ez az eseménynek csak egy űrlapja van. A Mégse paraméterrel megszakíthatja az űrlap törlését.

Privát Sub Form_Unload (Mégsem egész számként)
Ha az MsgBox ("Biztos, hogy kilép?" VbYesNo, "Kilépés a programból") = vbYes Akkor
Unload Me
Set Form1 = Semmi
más
Mégsem = 1
End If
End Sub

Ha érdekel, mi a téma, írj - megpróbálom felfedni a jövőben.

Kapcsolódó cikkek