Ako vytvárať a používať zdroje vo Visual Basic 6
Jetta Productions / Getty Images
Potom, čo sa študenti jazyka Visual Basic naučia všetko o slučkách a podmienených príkazoch a podprogramoch a tak ďalej, jednou z ďalších vecí, na ktoré sa často pýtajú, je: „Ako pridám bitmapu, súbor wav, vlastný kurzor alebo nejaký iný špeciálny efekt? ' Jedna odpoveď je zdrojové súbory . Keď pridáte súbor pomocou zdrojových súborov Visual Studio, sú integrované priamo do vášho projektu Visual Basic, aby sa dosiahla maximálna rýchlosť vykonávania a minimálne problémy. balenie a nasadenie tvojaplikácie.
Zdrojové súbory sú dostupné vo VB 6 a VB.NET , ale spôsob, akým sa používajú, ako všetko ostatné, je medzi týmito dvoma systémami dosť odlišný. Majte na pamäti, že toto nie je jediný spôsob použitia súborov v projekte VB, ale má skutočné výhody. Môžete napríklad zahrnúť bitovú mapu do a PictureBox ovládať alebo používať mciSendString Win32 API. „MCI“ je predpona, ktorá zvyčajne označuje multimediálny príkazový reťazec.
Vytvorenie súboru prostriedkov vo VB 6
Zdroje v projekte môžete vidieť vo VB 6 aj VB.NET v Project Explorer okno (Solution Explorer vo VB.NET — museli to urobiť trochu inak). Nový projekt nebude mať žiadne, pretože zdroje nie sú predvoleným nástrojom vo VB 6. Pridajme teda do 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 Doplnky na paneli s ponukami a potom na Správca doplnkov... Tým sa otvorí dialógové okno Správca doplnkov.
Prejdite nadol v zozname a nájdite Editor zdrojov VB 6 . Môžete naň len dvakrát kliknúť alebo môžete začiarknuť políčko Naložené/Vyložené pridajte tento nástroj do prostredia VB 6. Ak si myslíte, že budete často používať Editor zdrojov, potom môžete políčko začiarknuť Načítať pri spustení a v budúcnosti už tento krok nebudete musieť absolvovať. 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 Projekt potom Pridať nový zdrojový súbor alebo jednoducho kliknite pravým tlačidlom myši v editore zdrojov a z kontextovej ponuky, 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 Názov súboru box. V tomto článku budem pre tento súbor používať názov 'AboutVB.RES'. Budete musieť potvrdiť vytvorenie súboru v overovacom okne a vytvorí sa súbor 'AboutVB.RES' a vyplní sa do editora zdrojov.
Podporuje VB6
VB6 podporuje nasledovné:
- 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...') - Zdroje definované programátorom
(„Pridať vlastný zdroj...“)
VB 6 poskytuje jednoduchý editor pre reťazce, ale pre všetky ostatné možnosti musíte mať vytvorený súbor v inom nástroji. Môžete napríklad vytvoriť súbor BMP pomocou jednoduchého programu Windows Paint.
Každý zdroj v súbore prostriedkov je identifikovaný pre VB 6 pomocou an Id a názov v editore zdrojov. Ak chcete sprístupniť zdroj pre váš program, pridáte ho do editora zdrojov a potom použijete ID a zdroj 'Typ', aby ste na ne poukázali vo svojom programe. Pridajme štyri ikony do súboru prostriedkov a použime ich v programe.
Keď pridáte zdroj, samotný súbor sa skopíruje do vášho projektu. Visual Studio 6 poskytuje celú kolekciu ikon v priečinku...
C:Program FilesMicrosoft Visual StudioCommonGraphicsIcons
V súlade s tradíciou vyberieme štyri „prvky“ gréckeho filozofa Aristotela – Zem, Voda, Vzduch a Oheň – z podadresára Elements. Keď ich pridáte, Visual Studio (101, 102, 103 a 104) pridelí ID automaticky.
Na použitie ikon v programe používame funkciu VB 6 „Načítať zdroj“. Na výber je niekoľko z týchto funkcií:
Použite preddefinované konštanty VB vbResBitmap pre bitmapy, vbResIcon pre ikony a vbResCursor pre kurzory pre parameter 'formát'. Táto funkcia vráti obrázok, ktorý môžete priamo použiť. LoadResData (vysvetlené nižšie) vráti reťazec obsahujúci skutočné bity v súbore. Uvidíme, ako to použiť, keď ukážeme ikony.
Ako bolo uvedené vyššie, táto funkcia vracia reťazec so skutočnými bitmi v zdroji. Toto sú hodnoty, ktoré možno použiť pre parameter formátu tu:
1 Zdroj kurzora
2 Zdroj bitmapy
3 Zdroj ikony
4 Zdroj ponuky
5 Dialógové okno
6 Reťazcový zdroj
7 Zdroj adresára písma
8 Zdroj písma
9 Tabuľka akcelerátora
10 Používateľom definovaný zdroj
12 Skupinový kurzor
14 Ikona skupiny
Keďže v našom súbore prostriedkov AboutVB.RES máme štyri ikony, poďme použiť LoadResPicture(index, formát) priradiť ich k vlastnosti Obrázok príkazového tlačidla vo VB 6.
Vytvoril som aplikáciu so štyrmi OptionButton komponenty označené ako Zem, Voda, Vzduch a Oheň a štyri udalosti kliknutia – jedna pre každú možnosť. Potom som pridal a CommandButton a zmenili vlastnosť Style na '1 – Graphical.' Je to potrebné, aby ste mohli pridať vlastnú ikonu do CommandButton. Kód pre každú OptionButton (a udalosť Form Load – na jej inicializáciu) vyzerá takto (s príslušne zmeneným Id a Caption pre ostatné udalosti OptionButton Click):
Vlastné zdroje
'Veľký problém' s vlastnými zdrojmi je, že zvyčajne musíte poskytnúť spôsob, ako ich spracovať vo svojom programovom kóde. Ako Microsoft uvádza, 'to zvyčajne vyžaduje použitie volaní API systému Windows.' To je to, čo urobíme.
Príklad, ktorý použijeme, je rýchly spôsob načítania poľa s radom konštantných hodnôt. Pamätajte, že zdrojový súbor je súčasťou vášho projektu, takže ak sa hodnoty, ktoré potrebujete načítať, zmenia, budete musieť použiť tradičnejší prístup, ako napríklad sekvenčný súbor, ktorý otvoríte a prečítate. 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é sú tam uložené. Táto technika je dobre známa VB 6'ers ako ultra rýchly spôsob kopírovania dát v programe.
Tento program je o niečo zložitejší, 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
longs(1) = 123456
longs(2) = 654321
... a tak ďalej.
Potom je možné hodnoty zapísať do súboru tzv MyLongs.longs pomocou príkazu VB 6 „Put“.
Je dobré si zapamätať, že zdrojový súbor sa nezmení, pokiaľ neodstránite starý a nepridáte nový. Takže pomocou tejto techniky by ste museli aktualizovať program, aby ste zmenili hodnoty. Ak chcete do programu zahrnúť súbor MyLongs.longs ako zdroj, pridajte ho do súboru prostriedkov pomocou rovnakých krokov popísaných vyššie, ale kliknite na Pridať vlastný zdroj... namiesto Pridať ikonu... 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 zdroj, výberom 'Vlastnosti' a zmenou Typu na 'longs'. Všimnite si, že toto je typ súboru vášho súboru MyLongs.longs.
Ak chcete použiť zdrojový súbor, ktorý ste vytvorili na vytvorenie nového poľa, najprv deklarujte volanie rozhrania Win32 CopyMemory API:
Potom si prečítajte zdrojový súbor:
Potom presuňte údaje z poľa bajtov do poľa dlhých hodnôt. Prideľte pole pre hodnoty longs pomocou celočíselnej hodnoty dĺžky reťazca bajtov delenej 4 (to znamená 4 bajty na dĺžku):
Teraz sa to môže zdať ako veľa problémov, keď ste mohli pole inicializovať v udalosti Form Load, ale demonštruje to, ako používať vlastný zdroj. Ak by ste mali veľkú množinu konštánt, pomocou ktorých by ste potrebovali inicializovať pole, bežalo by to rýchlejšie ako ktorákoľvek iná metóda, na ktorú si spomeniem, a na to by ste nemuseli mať k aplikácii priložený samostatný súbor.