Po „Visual Basic“ studentai sužino viską apie kilpas, sąlyginius teiginius ir paprogrames ir kt., Vieną iš kitų dalykai, apie kuriuos jie dažnai klausia, yra „Kaip pridėti bitmap, wav failą, pasirinktinį žymeklį ar kitą specialųjį efektą?“ Vieną atsakymas yra išteklių failai. Kai pridedate failą naudodamiesi „Visual Studio“ išteklių failais, jie yra integruoti tiesiai į „Visual Basic“ projektą, kad pasiektų maksimalų vykdymo greitį ir mažiausiai vargo. pakavimas ir diegimas tavo taikymas.
Šaltinio failai yra tiek VB 6, tiek VB VB.NET, tačiau tai, kaip jie naudojami, kaip ir visa kita, yra labai skirtingi tarp dviejų sistemų. Atminkite, kad tai nėra vienintelis būdas naudoti failus VB projekte, tačiau jis turi realių pranašumų. Pvz., Į „bitmap“ galite įtraukti „PictureBox“ valdyti ar naudoti mciSendString „Win32“ API. „MCI“ yra priešdėlis, kuris paprastai nurodo daugialypės terpės komandų eilutę.
Šaltinio failo kūrimas VB 6
Galite pamatyti projekto išteklius tiek VB 6, tiek VB.NET Projekto tyrinėtojas
langas (VB.NET - „Solution Explorer“ - jie turėjo šiek tiek skirtis). Naujo projekto nebus, nes ištekliai nėra numatytasis įrankis VB 6. Taigi pridėkime paprastą šaltinį prie projekto ir pažiūrėkime, kaip tai daroma.Pirmas žingsnis yra paleisti VB 6, pasirinkus a Standartinis EXE projektas Nauja skirtuką paleidimo dialogo lange. Dabar pasirinkite Priedai parinktį meniu juostoje, tada - Priedų tvarkyklė ... Bus atidarytas Add-In Manager dialogo langas.
Slinkite sąrašą žemyn ir raskite VB 6 išteklių redaktorius. Galite tiesiog dukart spustelėti ją arba pažymėti varnelę Pakrautas / iškrautas langelį, kad pridėtumėte šį įrankį į savo VB 6 aplinką. Jei manote, kad daug naudositės išteklių redaktoriumi, tada laukelyje taip pat galite pažymėti varnelę Įkelkite paleisdami ir ateityje jums nebereikės atlikti šio žingsnio. Spustelėkite „Gerai“ ir atsidarys išteklių redaktorius. Esate pasirengę pradėti pridėti išteklių prie savo projekto!
Eikite į meniu juostą ir pasirinkite Projektas tada Pridėti naują išteklių failą arba tiesiog dešiniuoju pelės mygtuku spustelėkite išteklių redaktorių ir pasirodžiusiame kontekstiniame meniu pasirinkite „Atidaryti“. Atsidarys langas, kuriame bus prašoma nurodyti išteklių failo pavadinimą ir vietą. Numatytoji vieta tikriausiai nebus tokia, kokios norite, todėl eikite į savo projekto aplanką ir įveskite naujo išteklių failo pavadinimą į Failo pavadinimas dėžė. Šiame straipsnyje šiam failui naudosiu pavadinimą „AboutVB.RES“. Turėsite patvirtinti failo sukūrimą patikrinimo lange, o failas „AboutVB.RES“ bus sukurtas ir užpildytas išteklių šaltinyje.
VB6 atramos
VB6 palaiko šiuos dalykus:
- Styginių lentelės redaktorius
(„Redaguoti stygų lenteles ...“) - Pasirinktiniai žymekliai - „CUR“ failai
(„Pridėti žymeklį ...“) - Individualizuotos piktogramos - „ICO“ failai
(„Pridėti piktogramą ...“) - Individualizuotos bitkoinai - „BMP“ failai
(„Pridėti bitkartą ...“) - Programuotojo apibrėžti ištekliai
(„Pridėti pasirinktinį šaltinį ...“)
VB 6 pateikia paprastą stygų redaktorių, bet jūs turite turėti failą, sukurtą kitame įrankyje, kad galėtumėte pasirinkti visus kitus pasirinkimus. Pvz., Galite sukurti BMP failą naudodami paprastą „Windows Paint“ programą.
Kiekvienas išteklių failo šaltinis VB 6 atpažįstamas pagal Id ir vardas išteklių redaktoriuje. Norėdami, kad ištekliai būtų prieinami jūsų programai, pridėkite juos prie išteklių redagavimo priemonės ir naudokite ID ir šaltinį „Tipas“, kad nurodytumėte juos savo programoje. Pridėkime keturias piktogramas prie išteklių failo ir naudokime jas programoje.
Kai pridedate šaltinį, tikrasis failas pats nukopijuojamas į jūsų projektą. Aplanke „Visual Studio 6“ yra visa piktogramų kolekcija ...
C: \ Program Files \ Microsoft Visual Studio \ Common \ Grafika \ Piktogramos
Norėdami pereiti su tradicijomis, iš elementų pakatalogio pasirinksime graikų filosofo Aristotelio keturis „elementus“ - žemę, vandenį, orą ir ugnį. Kai juos pridedate, „Visual Studio“ (101, 102, 103 ir 104) automatiškai priskiria ID.
Norėdami naudoti piktogramas programoje, naudojame VB 6 funkciją „Įkelti resursą“. Galima pasirinkti iš kelių šių funkcijų:
- „LoadResPicture“ (rodyklė, formatas) bitų žemėlapiams, piktogramoms ir žymekliams
Naudokite iš anksto nustatytas VB konstantas „vbResBitmap“ bitkoinais, vbResIcon piktogramoms ir „vbResCursor“ žymekliams - parametro „formatas“. Ši funkcija grąžina vaizdą, kurį galite naudoti tiesiogiai. „LoadResData“ (paaiškinta žemiau) grąžina eilutę, kurioje yra tikrieji failo failai. Pamatysime, kaip tuo naudotis, kai parodysime piktogramas.
- „LoadResString“ (rodyklė) styginiams
- „LoadResData“ (rodyklė, formatas) bet kam iki 64K
Kaip minėta anksčiau, ši funkcija grąžina eilutę su tikraisiais ištekliaus bitais. Čia yra vertės, kurias čia galima naudoti formato parametrui:
1 žymeklio šaltinis
2 Bitmap šaltinis
3 Piktogramų šaltinis
4 Meniu šaltinis
5 Dialogo langas
6 Styginių šaltinis
7 Šriftų katalogo šaltinis
8 Šrifto šaltinis
9 Akseleratoriaus lentelė
10 Vartotojo apibrėžtas šaltinis
12 grupės žymeklis
14 Grupės piktograma
Kadangi mūsų AboutVB.RES išteklių faile yra keturios piktogramos, pasinaudokime „LoadResPicture“ (rodyklė, formatas) priskirti juos „VB 6“ „CommandButton“ ypatybei „Paveikslėlis“.
Sukūriau aplikaciją su keturiais Pasirinkimo mygtukas komponentai, pažymėti žeme Žemė, vanduo, oras ir ugnis, ir keturi paspaudimų įvykiai - po vieną kiekvienai parinkčiai. Tada pridėjau a „CommandButton“ ir pakeitė ypatybę „Style“ į „1 - Grafinis“. Tai būtina norint į „CommandButton“ pridėti pasirinktinę piktogramą. Kiekvieno „OptionButton“ kodas (ir formos įkėlimo įvykis - norint jį inicijuoti) atrodo taip (atitinkamai pakeitus kitų „OptionButton“ paspaudimų įvykių ID ir antraštę):
Individualūs ištekliai
„Didžiulis dalykas“ su pasirinktiniais ištekliais yra tas, kad paprastai turite pateikti būdą, kaip juos apdoroti savo programos kode. Kaip „Microsoft“ teigia, kad „tam paprastai reikia naudoti„ Windows API “skambučius“. Štai ką mes darysime.
Mūsų naudojamas pavyzdys yra greitas būdas užpildyti masyvą su daugybe pastovių verčių. Atminkite, kad išteklių failas yra įtrauktas į jūsų projektą, taigi, jei reikšmės, kurias jums reikia įkelti pakeisdami turėsite naudoti tradiciškesnį požiūrį, pvz., atidaromą nuoseklųjį failą ir skaityti. „Windows“ API, kurią naudosime, yra „CopyMemory“ API. „CopyMemory“ kopijuoja atminties bloką į kitą atminties bloką, neatsižvelgdama į ten saugomą duomenų tipą. Ši technika „VB 6'ers“ yra gerai žinoma kaip ypač greitas būdas kopijuoti duomenis programos viduje.
Ši programa yra šiek tiek aktyvesnė, nes pirmiausia turime sukurti išteklių failą, kuriame yra ilgų verčių serija. Aš tiesiog priskyriau reikšmes masyvui:
Dim ilgisi (10) kaip ilgai
ilgiai (1) = 123456
ilgiai (2) = 654321
... ir taip toliau.
Tada reikšmes galima įrašyti į failą, vadinamą MyLongs.longs naudojant VB 6 teiginį „Įdėk“.
Verta atsiminti, kad išteklių failas nesikeičia, jei neištrinsite seno ir nepridėsite naujo. Taigi, naudodamiesi šia technika, turėsite atnaujinti programą, kad pakeistumėte reikšmes. Norėdami į savo programą kaip šaltinį įtraukti failą „MyLongs.longs“, pridėkite jį prie šaltinio failo atlikdami tuos pačius veiksmus, aprašytus aukščiau, tačiau spustelėkite Pridėti pasirinktinį šaltinį ... užuot pridėję piktogramą... Tada pasirinkite failą „MyLongs.longs“, kurį norite pridėti. Jūs taip pat turite pakeisti išteklių tipą, dešiniuoju pelės mygtuku spustelėdami tą šaltinį, pasirinkdami „Ypatybės“ ir pakeisdami tipą į „ilgas“. Atminkite, kad tai yra jūsų „MyLongs.longs“ failo tipas.
Norėdami naudoti sukurtą išteklių failą naujam masyvui sukurti, pirmiausia paskelbkite „Win32 CopyMemory“ API kvietimą:
Tada perskaitykite išteklių failą:
Tada perkelkite duomenis iš baitų masyvo į ilgų verčių masyvą. Padalinkite ilgio reikšmių masyvą, naudodami baitų eilutės ilgio sveikąją skaičių, padalytą iš 4 (tai yra, 4 baitai už ilgį):
Dabar tai gali atrodyti kaip daugybė problemų, kai jūs tiesiog galite inicijuoti masę įvykio formoje, tačiau tai parodo, kaip naudoti pasirinktinius išteklius. Jei turėtumėte didelį konstantų rinkinį, kurio jums reikėjo, norint suformuoti masyvą, jis veiktų greičiau nei bet kuris kitas kitas būdas, kurį aš galiu sugalvoti, ir jūs neturėtumėte turėti atskiro failo, pridėto prie jūsų programos, kad tai padarytumėte tai.