Potom, čo sa študenti jazyka Visual Basic naučia všetko o cykloch a podmienených príkazoch a podprogramoch atď., Jeden z nasledujúcich veci, na ktoré sa často pýtajú, sú: „Ako pridám bitmapu, súbor wav, vlastný kurzor alebo nejaký iný špeciálny efekt?“ jeden odpoveď je súbory zdrojov. Keď pridáte súbor pomocou zdrojových súborov Visual Studio, integrujú sa priamo do vášho projektu Visual Basic, aby sa dosiahla maximálna rýchlosť vykonávania a minimálne problémy balenie a nasadenie tvoj prihláška.
Súbory zdrojov sú dostupné vo VB 6 aj VB.NET, ale spôsob, akým sa používajú, rovnako ako všetko ostatné, je medzi týmito dvoma systémami trochu odlišný. Majte na pamäti, že to nie je jediný spôsob, ako používať súbory v projekte VB, ale má to skutočné výhody. Napríklad môžete vložiť bitmapu do PictureBox ovládať alebo používať mciSendString Win32 API. „MCI“ je predpona, ktorá zvyčajne označuje reťazec multimediálnych príkazov.
Vytvorenie súboru zdrojov vo VB 6
Zdroje projektu môžete vidieť vo VB 6 aj VB.NET v systéme Windows
Prieskumník projektu okno (Solution Explorer vo VB.NET - museli to urobiť trochu inak). Nový projekt nebude mať žiadne, pretože prostriedky nie sú predvoleným nástrojom vo VB 6. Pridajme teda k projektu jednoduchý zdroj a uvidíme, ako sa to robí.Prvým krokom je spustenie VB 6 výberom a Štandardné EXE projekt na Nový v úvodnom dialógovom okne. Teraz vyberte Add-Ins na paneli s ponukami a potom na Správca doplnkov ... Otvorí sa dialógové okno Správca doplnkov.
Prejdite zoznamom a vyhľadajte Editor zdrojov VB 6. Môžete na ňu dvakrát kliknúť alebo môžete zaškrtnúť políčko Loaded / Unloaded box na pridanie tohto nástroja do vášho prostredia VB 6. Ak sa domnievate, že Editor zdrojov budete používať veľa, môžete do políčka označiť aj začiarkavacie políčko Načítať pri spustení a týmto krokom nebudete musieť v budúcnosti znova prejsť. Kliknite na „OK“ a otvorí sa Editor zdrojov. Ste pripravení začať pridávať zdroje do svojho projektu!
Prejdite na panel s ponukami a vyberte položku projekt potom Pridať nový súbor zdrojov alebo stačí kliknúť pravým tlačidlom myši na položku Editor zdrojov a v kontextovej ponuke, ktorá sa zobrazí, vyberte možnosť Otvoriť. Otvorí sa okno s výzvou na zadanie názvu a umiestnenia súboru prostriedkov. Predvolené umiestnenie pravdepodobne nebude to, čo chcete, takže prejdite do priečinka projektu a zadajte názov nového súboru prostriedkov do priečinka Názov súboru box. V tomto článku použijem pre tento súbor názov „AboutVB.RES“. V overovacom okne musíte potvrdiť vytvorenie súboru a súbor „AboutVB.RES“ sa vytvorí a vyplní do editora prostriedkov.
Podporuje VB6
VB6 podporuje nasledujúce:
- Editor tabuľky reťazcov
(„Upraviť tabuľky reťazcov ...“) - Vlastné kurzory - súbory „CUR“
(„Pridať kurzor ...“) - Vlastné ikony - súbory „ICO“
(„Pridať ikonu ...“) - Vlastné bitmapy - súbory „BMP“
(„Pridať bitmapu ...“) - Programátor definované zdroje
(„Pridať vlastné zdroje ...“)
VB 6 poskytuje jednoduchý editor pre reťazce, ale pre všetky ostatné voľby musíte mať vytvorený súbor v inom nástroji. Napríklad by ste mohli vytvoriť súbor BMP pomocou jednoduchého programu Windows Maľovanie.
Každý prostriedok v súbore prostriedkov je identifikovaný pre VB 6 pomocou id a meno v editore zdrojov. Ak chcete zdroj sprístupniť svojmu programu, pridajte ho do editora zdrojov a potom pomocou ID a prostriedku „Typ“ na ne nasmerujte odkaz v programe. Pridajme do súboru zdrojov štyri ikony a použijeme ich v programe.
Po pridaní prostriedku sa do vášho projektu skopíruje samotný súbor. Visual Studio 6 poskytuje celú kolekciu ikon v priečinku ...
C: \ Program Files \ Microsoft Visual Studio \ Common \ Graphics \ Icons
Ak chcete ísť s tradíciou, z podadresára Elements vyberieme štyri „prvky“ gréckeho filozofa Aristotela - Zem, Voda, Vzduch a Oheň. Keď ich pridáte, ID pridelí Visual Studio (101, 102, 103 a 104) automaticky.
Na použitie ikon v programe používame funkciu VB 6 „Load Resource“. Existuje niekoľko z týchto funkcií, z ktorých si môžete vybrať:
- LoadResPicture (index, formát) pre bitmapy, ikony a kurzory
Použite preddefinované konštanty VB vbResBitmap pre bitmapy, vbResIcon pre ikony a vbResCursor pre kurzory pre parameter „format“. Táto funkcia vráti obrázok, ktorý môžete použiť priamo. LoadResData (vysvetlené nižšie) vráti reťazec obsahujúci skutočné bity v súbore. Po demonštrácii ikon uvidíme, ako ich použiť.
- LoadResString (index) pre reťazce
- LoadResData (index, formát) pre čokoľvek do 64 kB
Ako už bolo uvedené, táto funkcia vracia reťazec so skutočnými bitmi v prostriedku. Toto sú hodnoty, ktoré je možné tu použiť pre parameter format:
1 Zdroj kurzora
2 Zdroj bitmapy
3 Zdroj ikon
4 Zdroj ponuky
5 Dialógové okno
6 Zdroj reťazca
7 Zdroj adresára písiem
8 Zdroj písma
9 Tabuľka urýchľovača
10 Zdroj definovaný používateľom
12 Skupinový kurzor
14 Ikona skupiny
Pretože v našom zdrojovom súbore AboutVB.RES máme štyri ikony, používajme LoadResPicture (index, formát) aby ste ich priradili vlastnosti Picture CommandButton vo VB 6.
Vytvoril som aplikáciu so štyrmi OptionButton komponenty označené zemou, vodou, vzduchom a ohňom a štyri udalosti kliknutia - jedna pre každú možnosť. Potom som pridal a CommandButton a zmenili vlastnosť Style na „1 - Grafický“. To je potrebné, aby bolo možné pridať do CommandButtonu vlastnú ikonu. Kód pre každú možnosť OptionButton (a udalosť Load Form - na jej inicializáciu) vyzerá takto (s ID a titulom zmeneným zodpovedajúcim spôsobom pre ďalšie udalosti OptionButton Click):
Vlastné zdroje
Veľkým problémom s vlastnými zdrojmi je to, že za normálnych okolností musíte poskytnúť spôsob, ako ich spracovať v programovom kóde. ako Microsoft uvádza: „Zvyčajne to vyžaduje použitie hovorov rozhrania Windows API.“ To urobíme.
Príklad, ktorý použijeme, je rýchly spôsob, ako načítať pole s radom konštantných hodnôt. Nezabudnite, že zdrojový súbor je súčasťou vášho projektu, takže ak sú hodnoty, ktoré potrebujete načítať Ak chcete zmeniť, budete musieť použiť tradičnejší prístup, ako napríklad sekvenčný súbor, ktorý otvoríte a čítať. Windows API, ktoré použijeme, je CopyMemory API. CopyMemory skopíruje blok pamäte do iného bloku pamäte bez ohľadu na typ údajov, ktorý je v ňom uložený. Táto technika je známa VB 6'ers ako ultrarýchly spôsob, ako kopírovať dáta vo vnútri programu.
Tento program je trochu viac zapojený, pretože najprv musíme vytvoriť zdrojový súbor obsahujúci sériu dlhých hodnôt. Jednoducho som priradil hodnoty do poľa:
Dim longs (10) As Long
dlhy (1) = 123456
dlhy (2) = 654321
... a tak ďalej.
Potom je možné hodnoty zapísať do súboru s názvom MyLongs.longs pomocou príkazu VB 6 „Put“.
Je dobré si zapamätať, že súbor zdrojov sa nezmení, pokiaľ neodstránite starý a nepridáte nový. Ak teda použijete túto techniku, budete musieť aktualizovať program, aby sa zmenili hodnoty. Ak chcete súbor MyLongs.longs zahrnúť do svojho programu ako prostriedok, pridajte ho do súboru prostriedkov pomocou rovnakých krokov, ktoré sú opísané vyššie, ale kliknite na ikonu Pridať vlastný zdroj ... namiesto pridania ikony... Potom vyberte súbor MyLongs.longs ako súbor, ktorý chcete pridať. Musíte tiež zmeniť typ zdroja kliknutím pravým tlačidlom myši na tento prostriedok, výberom položky Vlastnosti a zmenou typu na hodnotu longs. Toto je typ súboru vášho súboru MyLongs.longs.
Ak chcete použiť súbor prostriedkov, ktorý ste vytvorili, na vytvorenie nového poľa, najskôr deklarujte volanie API rozhrania Win32 CopyMemory:
Potom si prečítajte zdrojový súbor:
Ďalej presuňte údaje z poľa bajtov do poľa dlhých hodnôt. Priraďte pole pre hodnoty longs pomocou celočíselnej hodnoty dĺžky reťazca bajtov vydelenej 4 (tj 4 bajty na dĺžku):
Teraz sa to môže javiť ako veľa problémov, keď by ste mohli inicializovať pole v udalosti Form Load, ale ukazuje to, ako používať vlastný prostriedok. Keby ste mali veľkú množinu konštánt, ktoré ste potrebovali na inicializáciu poľa, spustilo by sa to rýchlejšie ako akékoľvek iné iná metóda, na ktorú dokážem myslieť, a na svoju žiadosť by ste nemuseli mať k dispozícii samostatný súbor ono.