Hogyan írhatsz be egy bővítményt vagy
Kiterjeszthető szoftverfejlesztési környezetként a VB lehetővé teszi a benne lévő alkalmazások létrehozását. Ehhez van egy úgynevezett. integrált fejlesztési környezet vagy egyszerűbb IDE.
Ön, az alkalmazásaiban már használ olyan bővítményeket, mint például a Class Builder Utility vagy az Rtsource Editor. Olyan programok, amelyek egyszerűsítik és megkönnyítik a programozó munkáját, megmentve ugyanannak a típusnak az ismétlődő kódját. Amikor a Microsoft elengedte, először a harmadik cégek, majd maguk a programozók, a felépítmények létrehozását, majd a végén - csak nyert. Szüksége van egy speciális alkalmazásra - létrehozd magadnak. Tény, hogy ebben a cikkben szeretnék bemutatni.
Azonban mielőtt elkezdenénk, meg kell jegyeznünk bizonyos nehézségeket a kiegészítõk létrehozásában:
- A bővítmény lényegében egy dinamikus könyvtár (DLL), amelyet VB-ben írtak. Ezért a tesztelt kiegészítést egy VB alkalmazásban kell futtatni, és a tesztelést egy másikban kell végrehajtani.
- Szerkezete szerint a bővítmény egy osztálymodul és minden, amit kijelentünk, hogy a Public lesz elérhető az alkalmazás bármely más részén.
- Talán a legfontosabb, hogy hibát írjunk két helyes kódra :) kód: az egyik a kiegészítéshez, a második pedig az alkalmazáshoz, ahol integrálni fogjuk.
Elég szavakat, a többiet a program magyarázata során fogom mondani. És hozzunk létre egy kiegészítést, amely létrehoz egy függőleges menüt. Nos, nem egy menüt (igazi értelemben), csak az emulációját.
Hozzon létre egy új projektet úgy, hogy a párbeszédpanelen nem a Standard EXE-t választja, mint általában, de az Addin opciót. A program létrehoz egy alkalmazási sablont az Ön számára, ami némileg különbözik attól, amit szoktál, standard programok készítéséhez. Igen, van egy Űrlapok szakasz, amelynek "csupasz" formája van, de ami a legfontosabb, egy új szakasz jelenik meg - a tervezők, a benne lévő Connect objektummal.
Kezdjük azzal a részletekkel, hogy mit kínál a Microsoft ebben a sablonban. Azok számára, akiket nem érdekel ez (mivel a kód mindig ugyanaz minden esetben), kihagyhatja ezt a részt.
- Tehát két, a bővítmény fő formájának megnyitásával és elrejtésével kapcsolatos globális eljárások (Show and Hide). Semmi különös, kivéve, hogy az űrlap rejtett és nem kirakodott, ami bizonyos nehézségeket okoz. A kirakodás csak akkor történik, ha a bővítmény leválik a projektből.
- A nyilatkozatok részében több pontot kell megjegyezni:
- A megjelenített űrlap átnevezése esetén ne felejtse el a megfelelő korrekciót a sorban: Dim mfrmAddIn mint új [New FormName]
- Természetesen a globális változó VBInstance. Ezt a változót VBIDE.VBE típusnak deklarálják, és a VB aktuális példányát reprezentálja. A jelenlegi projekt belső struktúrájára vonatkozó további felhívások ezen változón keresztül valósulnak meg.
- Változó (Dim mcbMenuCommandBar Mivel Office.CommandBarControl) kiderül, „hozzáférést a test” menü, amely lehetővé teszi, hogy ne csak olvasni az értékeket, hanem manipulálni a menüsávból mind annak alkalmazását.
- A következő belső eljárások és funkciók szabályozzák a kiegészítők nevének hozzáadása és eltávolítása a VB menüből.
A legtöbb esetben a sablon alapként megadja nekünk a munkát. Ez azonban nem jelenti azt, hogy nem változtathatunk meg benne. Kicsit később visszatérünk a Connect tervezőhöz, hogy felvesszük néhány eljárást, és állítsuk be a meglévőket.
Tehát nevezze át a Project Name = SideMenu nevet. Nyissa meg a Csatlakoztatás lehetőséget, és végezzen el néhány korrekciót az alábbi ábra szerint.
Itt az ideje, hogy megtanuljuk, hogyan teszteljük a kiegészítőnket. Figyelmesen fogunk lenni, mert közvetlenül a VB környezetével dolgozunk!
- Futtass egy másik projektet, most a Standard Exe-t
- A kiegészítéssel térjünk vissza az ablakhoz, és futtassuk a végrehajtáshoz (F5)
- Menjen vissza a tesztprojektbe, és válassza ki a Add-Ins / Add-In Manager menüt.
A tesztelés befejezéséhez:
- Válassza ki az Add-Ins / Add-In Manager menüpontot. és letiltja a betöltött / letöltött opciót a bővítményből. OK.
- Vegyünk a VB munkaablakába alkalmazásunkkal (kiegészítő), és állítsuk le.
NB! Ha kikapcsolja a fő alkalmazást anélkül, hogy előzetesen kirakná a kapcsolatot a tesztprojektről, ott (a tesztprojektben) az alkalmazásunk menüje marad (UNSUPPORTED!). És a következő teszt ugyanazt a menüt (munka) adja hozzá.
Folytassuk a munkát. Térjünk vissza a frmAddIn formába. Az ellenőrzéseket úgy fogjuk rendezni, mint az itt bemutatott ábrán.
Alapértelmezés szerint elég kódot hoz létre: csak a billentyűleütések feldolgozásához. Adjuk hozzá a kódot a listanevek listájának (Name = lstMenu) hozzáadása és törlése céljából. Semmi sincs alapvetően összetett vagy új a kódokban. Miután az érvényesítési ellenőrzést hozzáadta vagy eltávolította a listán. A Form_Load eseményen adja meg a címkén megjelenő információs szöveget (Name = lblInfo).
Térjünk vissza a Csatlakozás és a kódok hozzáadásához a kombinált mező (Name = cboForm) frissítéséhez az űrlapok listájával. A lényeg az, hogy bezárásunkkal (de nem ürítjük ki) a plugint, csak elrejtjük (a Hide módszer). Ezért, ha új formát adtak hozzá, akkor nem jelenik meg a kombinált mezőben. Javítsuk meg ezt. Írja be az AddInCombo eljárást, majd hívja a Show-eljárásba. Először deklaráljuk az aktív projekt objektumváltozóját és az összetevők számát (formák, modulok, osztálymodulok stb.) Ebben a projektben. Töröljük a kombinált dobozt, majd a For hurkot. Ezután ellenőrizze ezeket az alkatrészeket. Ha ezt az űrlapot hozzáadja a kombinált dobozhoz. Végül ne felejtsd el felszabadítani a memóriát az ideiglenesen létrehozott objektumok törlésével.
Nos, itt az ideje, hogy megtegyük a fő kódot (mi történik, ha megnyomjuk az OK gombot a frmAddIn formában).
Kezdetben természetesen a hibák ellenőrzéséhez: jelenléte a tervezetet, és legalább egy, a jelen legalább egy létrehozni menük és ErrName funkció, amely ellenőrzi ott nem véletlen, hogy tiltakozik ez a forma az azonos nevű (elkerülve egy vészkijáratot a program).
Ezután állítsa be az aktuális VB példány objektumát: Project és Current Form (a név a kombinált dobozból származik).
A következő lépéseket két blokk képviseli: az űrlap vezérlőinek hozzáadása és kód hozzáadása.
Annak érdekében, hogy elemet adjon hozzá az űrlaphoz, a módszert kell használnia (nem fogja kitalálni a nevét :)) Add. Az elem hozzáadását követően megteheti a tulajdonságok beállításával. A telepítés első eleme a PictureBox, amely megjeleníti a menüsávot, és ez lesz a tároló más EA-k számára.
Más ellenőrzések esetében az elv ugyanaz. Az egyetlen dolog, amit hozzáadtunk a For hurokhoz. Ezután megismételjük ezt a műveletet annyiszor, mint a létrehozott menü.
A kódokhoz való hozzáférés megegyezik. a kódmodul szintén VB objektum. Először meg kell találnia az "Option Explicit" (előfordulhat, hogy nem az első sorban van), és beírja a létrehozott kódot. Jelöljük ki a keresést. Azt hiszem, 20 sornyi kódmodul elég.
A kódot a InsertLine metódus segítségével kell beilleszteni, paraméterekkel: ebből a sorból a szöveg beszúrása (az Explicit Opció mellett) és a beillesztendő elemek között.
Elengedjük a memóriát, megsemmisítve az ebben az eljárásban létrehozott objektumokat. Állítsa thisProject = Semmi Set thisForm = Semmi Set PanelMenu = Semmi Set ctrlMenu = Semmi Set mnuMenu = Semmi Set mnuSubMenu = Semmi Set thisCode = Semmi Screen.MousePointer = vbDefault
Kimenet frmConfirm, további magyarázó információkkal és szoros Connect segítségével.
Nem fogok foglalkozni a beillesztett kód részleteivel (bár önmagában elég érdekes), mivel ez nem a cikk témája. Csak azt szeretném megjegyezni, hogy egy teljes kód létrehozásához először egy külön projektben kell létrehoznunk, amit ennek eredményeként szeretnénk elérni. Készítsen hibákat. Ezután másolja be az alkalmazásba, és cserélje ki az egyes objektumneveket változókkal. A részletes szövegért lásd a listát.
A frmConfirm formában a felhasználó kimeneti adatait írjuk. És írjuk a parancsot az űrlap bezárásához.
Tesztelje alkalmazását. Ha elfelejtette, hogyan kell ezt csinálni, nézze meg itt.
Csatlakoztassa a szükséges kódot:
Amikor újra tesztel - minden rendben van.
Csak egy nem használt gomb van - "A programról". Valahogy Alexander Klimov, a "Russian_project" webhely vezetője elmondta, hogy az About ablaknak, az általános szöveges információkon túlmenően, tükröznie kell a lehető legnagyobb mértékben a programot. Ezért az "Exit" gomb helyett az oldal menüpontot a frmAbout ablakban készítjük el. Generálja a kódot a tesztablakban. Lépjünk ki a tesztelési módból, és másoljuk ki a kapott űrlapot a projektünkhöz. A frmAddIn mezőbe írja be a cmdAbout gomb kódját.
Elkészült a Bővítmény létrehozása a VB-hez. A projektet összeállítjuk
NB! Ha átmásolod ezt a plug-inet (fordítva) egy másik számítógépre, ne felejtsd el regsvr32.exe-nel regisztrálni, vagy használhatod a reg regisztrációs segédprogramot.