Cum se scrie un add-in sau

Ca mediu extensibil de dezvoltare software, VB vă permite să creați aplicații care sunt utilizate în cadrul acestuia. Pentru a face acest lucru, are așa-numitul. mediu de dezvoltare integrat sau IDE mai simplu.







În aplicațiile dvs., ați utilizat deja programe de completare, cum ar fi utilitarul Class Builder Utility sau editorul de resurse. Programe care simplifică și facilitează activitatea programatorului, salvându-l să scrie un cod repetitiv de același tip. Atunci când Microsoft a dat departe, mai întâi a treia firme, și apoi programatorii înșiși, crearea de superstructuri, apoi în cele din urmă - doar a câștigat. Aveți nevoie de o aplicație specifică - creați-o pentru dvs. De fapt, vreau să demonstrez în acest articol.

Cu toate acestea, înainte de a începe, este necesar să observăm unele dificultăți în crearea de programe de completare:

  • Add-In este, în esență, o bibliotecă dinamică (DLL) scrisă în VB. Prin urmare, add-on-ul testat trebuie executat într-o aplicație VB, iar testarea însăși trebuie făcută într-o altă aplicație VB.
  • Prin structura sa, Add-In este un modul de clasă și tot ceea ce declarăm ca Public va fi disponibil în orice altă parte a aplicației.
  • Poate cel mai important, va trebui să scriem două corecte fără erori :) cod: unul pentru add-on-ul în sine și al doilea pentru aplicație, unde îl vom integra.

Cuvintele suficiente, restul le voi spune în cursul explicării programului. Și vom crea un add-on care creează un meniu vertical. Ei bine, nu chiar un meniu (în adevăratul său sens), ci doar emularea lui.

Creați un nou proiect prin selectarea în caseta de dialog nu este standard EXE, așa cum facem de obicei, dar prin opțiunea Addin. Programul va crea un șablon de aplicație pentru dvs., oarecum diferit de ceea ce vă obișnuiți, creând programe standard. Da, există o secțiune Formulare cu un formular "gol", dar, cel mai important, a apărut o nouă secțiune - Designeri, cu obiectul Connect inclus în el.

Să începem cu puțin mai multe detalii despre ceea ce oferă Microsoft în acest șablon. Pentru cei care nu sunt interesați de aceasta (deoarece codul este întotdeauna același de fiecare dată), puteți sări peste această parte.

  • Deci, există două proceduri globale care ghidează deschiderea și ascunderea formei principale a programului de completare (Show and Hide). Nimic super-obișnuit, cu excepția faptului că forma este ascunsă și nu descărcată, ceea ce creează anumite dificultăți. Descărcarea se face numai când add-on-ul este detașat de proiect.
  • În secțiunea declarațiilor trebuie notate mai multe puncte:
    • În cazul redenumirii formularului afișat, nu uitați să efectuați corecția corespunzătoare în rândul: Dim mfrmAddIn As New [NewNameName]
    • Desigur, variabila globală VBInstance. Această variabilă este declarată ca tip VBIDE.VBE și reprezintă instanța curentă a VB. Toate apelurile către structura internă a proiectului curent sunt efectuate prin această variabilă.
    • Variabilă (Dim mcbMenuCommandBar Ca Office.CommandBarControl) relevă „accesul la corp“ meniu, permițându-vă să citiți nu numai valorile, dar, de asemenea, pentru a manipula bara de meniu, atât în ​​aplicarea sa.
  • Următoarele proceduri și funcții interne controlează adăugarea și ștergerea numelui add-in-ului nostru din meniul VB.

În majoritatea cazurilor, ceea ce ne oferă șablonul, în mod implicit, este suficient pentru a lucra. Cu toate acestea, aceasta nu înseamnă că nu putem face schimbări în ea. Puțin mai târziu ne vom întoarce la designerul Connect pentru a adăuga unele dintre procedurile noastre și pentru a ajusta cele existente.

Deci, redenumiți proiectul Name = SideMenu. Deschideți conexiunea și efectuați unele corecții, conform figurii de mai jos.

Acum e timpul sa inveti cum sa testezi add-on-ul nostru. Vom fi atenți, pentru că lucrăm direct cu mediul VB!

  • Rulați un alt proiect, acum Standard Exe
  • Întoarceți-vă la fereastra cu add-on-ul nostru și executați-l pentru execuție (F5)
  • Du-te înapoi la proiectul de testare și selectați meniul Add-Ins / Add-In Manager.






  • În fereastra de dialog deschisă, găsiți numele proiectului (în acest caz SideMenu) și setați opțiunea Loaded-Unloaded
  • Deschideți din nou meniul Add-Ins și găsiți submeniul aplicației noastre. Deschidem-o.
  • Ecranul ar trebui să afișeze caseta de dialog de lucru. Terminați lucrarea făcând clic pe butonul de formular corespunzător.
  • Pentru a ieși din testare:

    • Selectați meniul Manager de adăugări / adăugări. și dezactivați opțiunea Loaded / Unloaded din add-in-ul nostru. OK.
    • Să trecem la fereastra de lucru a VB cu aplicația noastră (add-on) și să o oprim.

    NB! Dacă dezactivați aplicația gazdă fără ca mai întâi descărcate din testirovochnogo link-ul de proiect să-l, apoi (proiect testirovochnom) va rămâne meniul nostru aplicație (rupt!). Iar următorul test va adăuga un meniu identic (de lucru) de mai jos.

    Să continuăm munca. Să revenim la formularul frmAddIn. Vom aranja controlul asupra acestuia, aproximativ ca în figura prezentată aici.

    În mod implicit, creează un pic de cod: doar pentru prelucrarea intrărilor de la tastatură. Să adăugăm codul pentru a adăuga și elimina numele meniurilor în caseta de listă (Name = lstMenu). Nu există nimic fundamental sau complex în aceste coduri. După ce verificarea de validare este adăugată sau eliminată din caseta de listă. În evenimentul Form_Load, adăugați textul de informații afișat pe etichetă (Name = lblInfo).

    Să revenim la Conectare și să adăugăm codurile pentru a actualiza caseta combo (Name = cboForm) cu lista de formulare. Lucrul este că prin închiderea (dar nu și descărcarea) a plugin-ului nostru, îl ascundem (metoda Ascundere). Prin urmare, dacă a fost adăugat un nou formular, acesta nu este afișat în caseta combo. Să corectăm asta. Scrieți procedura AddInCombo și apoi apelați-o în procedura Afișare. În primul rând, declarăm în acest proiect variabila obiect a proiectului activ și variabila numărului de componente (formulare, module, module de clasă etc.). Ștergem caseta combo și apoi în buclă For. Apoi, verificați aceste componente. Dacă acest formular este adăugat în caseta combo. În final, nu uitați să eliberați memoria ștergând obiectele create temporar.

    Este timpul să faceți codul principal (ceea ce se întâmplă când apăsați butonul OK din formularul frmAddIn).

    Inițial, desigur, verifica pentru erori: prezența în proiectul de cel puțin o formă, prezența a cel puțin unul pentru a crea meniuri și funcții ErrName care verifică nu întâmplător ca obiecte de la această formă de același nume (pentru a evita o ieșire de urgență din program).

    În continuare, inițializați obiectele din instanța VB curentă: Proiect și Forma curentă (numele este luat din caseta combo).

    Următorii pași sunt reprezentați de două blocuri: adăugarea de controale la formular și adăugarea de coduri.

    Pentru a adăuga un element la formular, trebuie să utilizați metoda (nu veți ghici numele său :)) Adăugați. După adăugarea elementului, îl puteți face prin setarea proprietăților sale. Primul element care trebuie instalat este PictureBox-ul, care va afișa bara de meniu și va fi un container pentru alte EA-uri.

    Pentru alte controale, principiul este același. Singurul lucru pe care l-am adăugat este buclă For. În continuare, care repetă această operație de câte ori este meniul pe care îl creăm.

    Accesul la coduri este identic. modulul de cod este, de asemenea, un obiect VB. Mai intai trebuie sa gasiti "Option Explicit" (poate sa nu fie pe prima linie) si dupa ce introduceti codul pe care l-am generat. Să selectăm pentru o căutare. Cred că sunt de ajuns 20 de linii de modul de cod.

    Codul este inserat utilizând metoda InsertLine, cu parametrii: de la care linie începeți să introduceți textul (lângă opțiunea Explicit) și ce să inserați.

    Eliberăm memoria, distrugând obiectele create în această procedură. Set thisProject = Nimic Set thisForm = Nimic Set PanelMenu = Nimic Set ctrlMenu = Nimic Set mnuMenu = Nimic Set mnuSubMenu = Nimic Set thisCode = Nimic Screen.MousePointer = vbDefault

    Ieșire frmConfirmați, cu informații suplimentare explicative și închideți conexiunea.

    Nu mă voi concentra asupra detaliilor codului inserat (deși este în sine destul de interesant), deoarece acesta nu este subiectul acestui articol. Voi nota doar că pentru a forma un cod complet este necesar să creați la început într-un proiect separat ceea ce vrem să obținem ca rezultat. Lucrează pentru erori. Apoi copiați în aplicația dvs. și înlocuiți numele obiectului specific cu variabilele. Pentru detalii, consultați listarea.

    În formularul frmConfirm vom scrie informațiile de ieșire pentru utilizator. Și vom scrie comanda pentru a închide formularul.

    Testați aplicația noastră. Dacă ați uitat cum să faceți acest lucru, vedeți aici.

    În Conectați, scrieți codul necesar:

    Când retestați - totul este bine.

    Avem doar un buton neutilizat - "Despre program". Într-un fel, Alexander Klimov, un site de conducere „Russkiy_proekt“, mi-a spus că fereastra Despre, în plus față de informațiile generale, textul ar trebui să reflecte cel mai mult este ceea ce punctul central al acestui program. Prin urmare, în loc de butonul "Exit", facem meniul nostru lateral în fereastra frmAbout. Generați codul în fereastra de testare. Să ieșim din modul de testare și să copiem formularul rezultat în proiectul nostru. În frmAddIn, scrieți codul pentru butonul cmdAbout.

    Am terminat crearea Add-In pentru VB. Vom compila proiectul

    NB! Dacă transferați acest plug-in (compilat) pe un alt computer, nu uitați să-l înregistrați cu regsvr32.exe sau puteți utiliza utilitarul Reg.







    Articole similare

    Trimiteți-le prietenilor: