Stvaranje i korištenje resursa u Visual Basic 6

Nakon Visual Basic studenti nauče sve o petljama i uvjetnim izjavama i podprogramima i tako dalje, jednu od sljedećih Ono o čemu se često pitaju je: "Kako dodati bitnu sliku, wav datoteku, prilagođeni kursor ili neki drugi poseban efekt?" Jedan odgovor je datoteke s resursima. Kada dodate datoteku koristeći datoteke resursa Visual Studio, oni se integriraju izravno u vaš projekt Visual Basic za maksimalnu brzinu izvršenja i minimalne gnjavaže pakiranje i raspoređivanje vaš primjena.

Datoteke resursa dostupne su u VB 6 i VB.NET, ali način na koji se koriste, kao i sve drugo, prilično je različit između dva sustava. Imajte na umu da ovo nije jedini način za korištenje datoteka u VB projektu, ali ima stvarne prednosti. Na primjer, možete uključiti bitmap u a PictureBox kontrolirati ili koristiti mciSendString Win32 API. "MCI" je prefiks koji obično označava multimedijski naredbeni niz.

Izrada datoteke s resursima u VB 6

Resurse u projektu možete vidjeti u VB 6 i VB.NET u Project Explorer prozor (Explorer Solution u VB.NET-u - morali su to učiniti malo drugačijim). Novi projekt neće imati jer resursi nisu zadani alat u VB 6. Dakle, dodajmo jednostavan resurs u projekt i vidimo kako se to radi.

instagram viewer

Prvi korak je pokretanje VB 6 odabirom a Standardni EXE projekt na Novi karticu u dijaloškom okviru pokretanja. Sada odaberite Add-Ins opciju na traci izbornika, a zatim i Upravitelj dodataka ... Otvorit će se dijaloški prozor Upravitelja dodataka.

Pomaknite se prema dolje i pronađite VB 6 Uređivač resursa. Možete ga samo dvaput kliknuti ili možete staviti kvačicu u Utovar / istovar okvir za dodavanje ovog alata u vaše VB 6 okruženje. Ako mislite da ćete puno koristiti uređivača resursa, tada u njega možete staviti i kvačicu Učitajte pri pokretanju i ubuduće nećete morati ponovo proći kroz ovaj korak. Kliknite "U redu" i otvori se Uređivač resursa. Spremni ste za početak dodavanja resursa u svoj projekt!

Idite na traku izbornika i odaberite Projekt zatim Dodajte novu datoteku resursa ili samo desnom tipkom miša kliknite uređivač resursa i odaberite "Otvori" iz kontekstnog izbornika koji se pojavi. Otvorit će se prozor koji će vas upitati za ime i mjesto datoteke s resursima. Zadana lokacija vjerojatno neće biti onakva kakvu želite, pa idite na mapu projekta i unesite ime svoje nove datoteke s resursima u Naziv datoteke kutija. U ovom ću članku za ovu datoteku upotrijebiti naziv "AboutVB.RES". Morat ćete potvrditi stvaranje datoteke u prozoru za provjeru, a datoteka "AboutVB.RES" bit će kreirana i ispunjena u Uređivač resursa.

Podržava VB6

VB6 podržava sljedeće:

  • Strojni uređivač tablica
    ("Uređivanje tablica nizova ...")
  • Prilagođeni kursori - datoteke "CUR"
    ("Dodavanje pokazivača ...")
  • Prilagođene ikone - datoteke "ICO"
    ("Dodaj ikonu ...")
  • Prilagođene bitmape - datoteke "BMP"
    ("Dodaj bitnu kartu ...")
  • Programski definirani resursi
    ("Dodaj prilagođeni resurs ...")

VB 6 nudi jednostavan uređivač struna, ali morate imati datoteku stvorenu u drugom alatu za sve ostale odabire. Na primjer, možete stvoriti BMP datoteku pomoću jednostavnog programa Windows Paint.

Svaki V resursnu datoteku identificira VB 6 s an Iskaznica i ime u uređivaču resursa. Kako biste resursima postali dostupni vašem programu, dodajte ih u uređivač resursa, a zatim pomoću id-a i resursa "Vrsta" ukažite na njih u svom programu. Dodajmo četiri ikone u datoteku resursa i upotrijebimo ih u programu.

Kada dodate resurs, sama datoteka kopira se u vaš projekt. Visual Studio 6 pruža cijelu kolekciju ikona u mapi ...

C: \ Programske datoteke \ Microsoft Visual Studio \ Common \ Grafika \ Ikone

Da nastavimo s tradicijom, iz poddirektora Elementi ćemo odabrati četiri "elementa" grčkog filozofa Aristotela - Zemlju, vodu, zrak i vatru. Kada ih dodate, Id će Visual Studio (101, 102, 103 i 104) automatski dodijeliti.

Za upotrebu ikona u programu koristimo VB 6 "Učitavanje resursa" funkciju. Postoji nekoliko sljedećih funkcija koje možete odabrati:

  • LoadResPicture (indeks, format) za bitmape, ikone i pokazivače

Koristite VB unaprijed određene konstante vbResBitmap za bitmape, vbResIcon za ikone i vbResCursor za pokazivače za parametar "format". Ova funkcija vraća sliku koju možete izravno koristiti. LoadResData (objašnjeno u nastavku) vraća niz koji sadrži stvarne bitove u datoteci. Vidjet ćemo kako to koristiti nakon što demonstriramo ikone.

  • LoadResString (indeks) za žice
  • LoadResData (indeks, format) za sve do 64K

Kao što je ranije napomenuto, ova funkcija vraća niz s stvarnim bitovima u resursu. Ovo su vrijednosti koje se ovdje mogu koristiti za format parametra:

1 Resurs kursora
2 Resurs bitne slike
3 Resurs ikona
4 Resurs iz izbornika
5 Dijaloški okvir
6 String resurs
7 Resurs direktorija fontova
8 Font resurs
9 Tablica akceleratora
10 Resurs koji je definirao korisnik
12 Grupni pokazivač
14 Ikona grupe

Budući da u našoj datoteci resursa AboutVB.RES imamo četiri ikone, iskoristimo LoadResPicture (indeks, format) da biste ih dodijelili svojstvu Picture u CommandButtonu u VB 6.

Napravio sam aplikaciju s četiri OptionButton komponente s oznakom Zemlja, Voda, Zrak i Vatra i četiri klika događaja - po jedan za svaku opciju. Tada sam dodao a CommandButton i promijenio svojstvo Style u "1 - grafički." Ovo je potrebno kako biste mogli dodati prilagođenu ikonu u CommandButton. Kôd za svaki OptionButton (i događaj Učitavanje obrasca - da se inicijalizira) izgleda ovako (s ID-om i naslovom se sukladno tome promijene za ostale događaje klika OptionButton):

Prilagođeni resursi

"Velika stvar" s prilagođenim resursima je da obično morate osigurati način da se oni obrade u vašem programskom kodu. Kao Microsoft navodi, "ovo obično zahtijeva upotrebu Windows API poziva." To ćemo učiniti.

Primjer koji ćemo koristiti je brz način za učitavanje niza s nizom konstantnih vrijednosti. Sjetite se da je datoteka resursa uključena u vaš projekt, pa ako su vrijednosti koje trebate učitati promjene, morat ćete koristiti tradicionalniji pristup, kao što je sekvencijalna datoteka koju otvorite i čitati. Windows API koji ćemo koristiti je CopyMemory API-ja. CopyMemory kopira blok memorije u drugi blok memorije bez obzira na vrstu podataka koji je tamo pohranjen. Ova je tehnika dobro poznata VB 6'ersima kao izuzetno brz način kopiranja podataka unutar programa.

Ovaj je program malo više uključen jer prvo moramo stvoriti datoteku s resursima koja sadrži niz dugih vrijednosti. Jednostavno sam dodijelio vrijednosti polju:

Dim duga (10) Kao duga
duga (1) = 123456
duga (2) = 654321

... i tako dalje.

Tada se vrijednosti mogu upisati u datoteku zvanu MyLongs.longs pomoću izjave VB 6 "Put".

Dobro je zapamtiti da se datoteka resursa ne mijenja ako ne izbrišete staru i ne dodate novu. Dakle, pomoću ove tehnike morali biste ažurirati program da biste promijenili vrijednosti. Da biste datoteku MyLongs.longs unijeli u svoj program kao resurs, dodajte je u datoteku s resursima pomoću istih koraka opisanih gore, ali kliknite gumb Dodaj prilagođeni resurs ... umjesto Dodaj ikonu... Zatim odaberite datoteku MyLongs.longs kao datoteku koju želite dodati. Također morate promijeniti "Vrsta" resursa tako da desnom tipkom miša kliknete taj resurs, odaberete "Svojstva" i promijenite Vrsta u "čezne". Imajte na umu da je ovo vrsta datoteke vaše MyLongs.longs datoteke.

Za upotrebu datoteke s resursima koju ste kreirali za stvaranje novog polja, najprije prijavite poziv Win32 CopyMemory API:

Zatim pročitajte datoteku s resursima:

Zatim premjestite podatke iz bajtovske matrice u niz dugih vrijednosti. Dodijelite niz za vrijednosti longs koristeći cijelu vrijednost duljine niza bajtova podijeljenih s 4 (to jest, 4 bajta po dužini):

Sada, ovo može izgledati kao puno problema kad biste samo mogli inicijalizirati niz u događaju Učitavanje obrasca, ali on zapravo pokazuje kako koristiti prilagođeni resurs. Da imate veliki skup konstanti s kojima trebate inicijalizirati niz, pokrenuo bi se brže od bilo kojeg drugu metodu na koju se mogu sjetiti, a vi ne biste trebali imati zasebnu datoteku koja je uključena u vašu prijavu to.

instagram story viewer