A Visual Basic után a hallgatók megismerkednek a hurkokkal, a feltételes kijelentésekkel és az alprogramokkal, és így tovább, a következők egyikével olyan dolgok, amelyekről gyakran kérdeznek: "Hogyan adhatok hozzá bitképet, wav fájlt, egyéni kurzort vagy más speciális effektusokat?" Egy a válasz: erőforrás fájlok. Amikor hozzáad egy fájlt a Visual Studio erőforrásfájlokkal, akkor a maximális végrehajtási sebesség és a minimális gond nélkül közvetlenül integrálódnak a Visual Basic projektbe. csomagolás és telepítés a ti Alkalmazás.
Az erőforrásfájlok mind a VB 6, mind pedig a VB.NET, de ahogyan használják őket, mint minden más, a két rendszer között kissé eltérő. Ne feledje, hogy ez nem az egyetlen módja a fájlok VB-projektekben való felhasználásának, ám ennek valódi előnyei vannak. Például beilleszthet egy bitképet a PictureBox vezérelheti vagy használja a mciSendString Win32 API. Az "MCI" egy olyan előtag, amely általában egy multimédiás parancssorra utal.
Erőforrásfájl létrehozása a VB 6-ban
A projekt erőforrásait a VB 6 és a VB.NET webhelyen egyaránt láthatja Project Explorer ablak (Solution Explorer a VB.NET-ben - kissé különbözõvé kellett tenniük). Egy új projekt nem lesz, mivel az erőforrások nem alapértelmezett eszközök a VB 6-ban. Tehát adjunk hozzá egy egyszerű forrást egy projekthez, és nézzük meg, hogyan történik ez.
Az első lépés a VB 6 elindítása a kiválasztásával Standard EXE projekt a Új fül az indítási párbeszédpanelen. Most válassza ki a Add-Ins menüpontot, majd a Bővítménykezelő ... Ezzel megnyílik a Kiegészítőkezelő párbeszédpanel.
Görgessen le a listán, és keresse meg VB 6 erőforrás-szerkesztő. Csak duplán kattinthat rá, vagy bejelölhet egy pipaot a Terhelt / terheletlen mezőbe, hogy hozzáadja ezt az eszközt a VB 6 környezetéhez. Ha úgy gondolja, hogy sokat fog használni az Erőforrás-szerkesztőt, akkor pipát is behelyezhet a mezőbe Betöltés indításkor és a jövőben nem kell újra megtennie ezt a lépést. Kattintson az "OK" gombra, és megnyílik az Erőforrás-szerkesztő. Készen állsz arra, hogy megkezdje az erőforrások hozzáadását a projekthez!
Lépjen a menüsávra, és válassza a lehetőséget program azután Új erőforrás-fájl hozzáadása vagy egyszerűen kattintson a jobb gombbal az Erőforrás-szerkesztőben, és válassza a megjelenő helyi menü „Megnyitás” parancsát. Megnyílik egy ablak, amely felszólítja az erőforrásfájl nevét és helyét. Az alapértelmezett hely valószínűleg nem lesz a kívánt, ezért keresse meg a projekt mappáját, és írja be az új erőforrás fájl nevét a Fájl név doboz. Ebben a cikkben a "AboutVB.RES" nevet fogom használni ehhez a fájlhoz. A fájl létrehozását egy ellenőrző ablakban meg kell erősítenie, és az "AboutVB.RES" fájl létrehozásra kerül, és kitölti az erőforrás-szerkesztőbe.
A VB6 támogatja
A VB6 támogatja a következőket:
- Karakterlánc-szerkesztő
("Húrtáblák szerkesztése ...") - Egyéni kurzorok - "CUR" fájlok
("Kurzor hozzáadása ...") - Egyéni ikonok - "ICO" fájlok
("Ikon hozzáadása ...") - Egyéni bitképek - "BMP" fájlok
("Bitmap hozzáadása ...") - A programozó által meghatározott erőforrások
("Saját forrás hozzáadása ...")
A VB 6 egyszerű szerkesztőt biztosít a karakterláncokhoz, de a többi választáshoz egy másik eszközben létre kell hoznia egy fájlt. Például hozhat létre BMP fájlt az egyszerű Windows Paint program segítségével.
Az erőforrásfájl minden erőforrását egy VB 6 azonosítja Id és egy név az erőforrás-szerkesztőben. Ha egy erőforrást elérhetővé tesz a programban, akkor hozzá kell adnia azokat az Erőforrás-szerkesztőben, majd az Id és a "Type" erőforrás segítségével mutatnia kell rájuk a programban. Adjunk hozzá négy ikont az erőforrásfájlhoz, és használjuk őket a programban.
Erőforrás hozzáadásakor a tényleges fájl másolódik be a projektbe. A Visual Studio 6 az ikonok teljes gyűjteményét tartalmazza a mappában ...
C: \ Program fájlok \ Microsoft Visual Studio \ Közös \ Grafika \ Ikonok
A hagyomány elkerülése érdekében az Elemek alkönyvtárból kiválasztjuk Arisztotelész görög filozófus négy "elemét" - a Földet, a Víz, a Levegő és a Tűt. Amikor hozzáadja őket, az Id-t a Visual Studio (101, 102., 103. és 104.) automatikusan hozzárendeli.
Az ikonok használatához egy programban egy VB 6 "Erőforrás betöltése" funkciót használunk. Az alábbiak közül több közül választhat:
- LoadResPicture (index, formátum) bitképekhez, ikonokhoz és kurzorokhoz
Használja a VB előre meghatározott állandóit vbResBitmap bitképeket, vbResIcon ikonok, és vbResCursor kurzorokhoz a "formátum" paraméterhez. Ez a funkció egy közvetlenül felhasználható képet ad vissza. LoadResData (alább kifejtve) egy karakterláncot ad vissza, amely a fájl tényleges bitjeit tartalmazza. Miután bemutattuk az ikonokat, meglátjuk, hogyan kell használni.
- LoadResString (index) húrokra
- LoadResData (index, formátum) bármi 64K-ig
Mint korábban megjegyeztük, ez a függvény az aktuális bittel megadott karakterláncot ad vissza az erőforrásban. A következő formátumot lehet használni a formázási paraméterhez itt:
1 Kurzor erőforrás
2 Bitmap erőforrás
3 Ikon erőforrás
4 Menüforrás
5 Párbeszédpanel
6 Karakterlánc
7 Betűtípus-könyvtár erőforrás
8 Betűkészlet-erőforrás
9 Gyorsítótábla
10 Felhasználó által definiált erőforrás
12 Csoport kurzor
14 Csoport ikon
Mivel a AboutVB.RES erőforrásfájlunkban négy ikon található, használjuk LoadResPicture (index, formátum) ezek hozzárendelése a CommandButton Kép tulajdonságához a VB 6-ban.
Készítettem egy négy alkalmazást OptionButton a Föld, víz, levegő és tűz címkével ellátott komponensek és négy kattintási esemény - minden opcióhoz egy. Aztán hozzáadtam egy Parancsgombot és a Stílus tulajdonságot "1 - Grafikus" -ra változtatta. Ez szükséges ahhoz, hogy egyéni ikont hozzáadhasson a CommandButton-hoz. Az egyes OptionButton (és az Űrlap-betöltése esemény - az inicializáláshoz) kódja így néz ki (az azonosítót és a képaláírást ennek megfelelően módosítva a többi OptionButton Click eseményhez):
Egyéni források
Az egyéni erőforrások „nagy ügye” az, hogy általában meg kell adnia a módját, hogy feldolgozzuk azokat a programkódban. Mint Microsoft kijelenti, hogy "ehhez általában Windows API hívások használata szükséges." Ezt fogjuk csinálni.
A példa egy gyors módszer egy tömb betöltésére állandó értékek sorozatával. Ne feledje, hogy az erőforrásfájl szerepel a projektben, tehát ha a feltöltendő értékek vannak Ha változtatni szeretne, akkor tradicionálisabb megközelítést kell használnia, például egy megnyitott és egymást követő fájlt olvas. A Windows API, amelyet használunk, a CopyMemory API. A CopyMemory a memória blokkját más memória blokkba másolja, tekintet nélkül az ott tárolt adattípusra. Ez a technika a VB 6'ers számára jól ismert, mint egy rendkívül gyors módszer az adatok másolására egy programon belül.
Ez a program egy kicsit jobban bekapcsolódik, mert először létre kell hoznunk egy erőforrás fájlt, amely hosszú értékek sorozatát tartalmazza. Egy értéket egyszerűen csak egy tömbhöz rendeltem:
Dim vágyakozik (10)
hosszúság (1) = 123456
hosszú (2) = 654321
... és így tovább.
Ezután az értékeket el lehet írni egy nevű fájlba MyLongs.longs a VB 6 "Put" utasításával.
Érdemes megjegyezni, hogy az erőforrásfájl csak akkor változik meg, ha törli a régit, és újat ad hozzá. Tehát, ezt a technikát használva frissítenie kell a programot az értékek megváltoztatásához. Ha a MyLongs.longs fájlt erőforrásként kívánja beilleszteni a programba, adja hozzá az erőforrásfájlhoz a fent leírt lépésekkel, de kattintson a Egyéni erőforrás hozzáadása ... Ikon hozzáadása helyett... Ezután válassza ki a MyLongs.longs fájlt hozzáadni kívánt fájlként. Meg kell változtatnia az erőforrás "Típust" is, ha jobb egérgombbal kattint rá, kiválasztja a "Tulajdonságok" lehetőséget, és a Típust "hosszú" -ra változtatja. Vegye figyelembe, hogy ez a MyLongs.longs fájl fájltípusa.
A létrehozott erőforrásfájl új tömb létrehozásához történő felhasználásához először deklarálja a Win32 CopyMemory API hívást:
Majd olvassa el az erőforrás fájlt:
Ezután helyezze át az adatokat a byte-tömbből egy hosszú értékű tömbbe. Helyezzen el egy tömböt a hosszú értékekhez a byte-sorozat hosszának egész számával, osztva 4-vel (vagyis 4 byte / hosszú), a következő érték felhasználásával:
Most nagyon sok bajnak tűnhet, amikor csak elindíthatja a tömböt az Űrlap betöltése eseményen, de ez demonstrálja, hogyan kell egyéni erőforrást használni. Ha nagy számú állandója lenne, amelyre szüksége volt a tömb inicializálásához, akkor az mindennél gyorsabban fog futni más módszer, amire gondolok, és nem kell külön fájlt mellékelnie az alkalmazásához azt.