I tekli scenarijai resource scripts
Sponsored Links
This presentation is the property of its rightful owner.
1 / 28

Išteklių scenarijai (resource scripts) PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

Išteklių scenarijai (resource scripts). rc.exe. Windows SDK turi specialų įrankį – rc.exe, išteklių scenarijų kompiliatorių (resource script compiler). Tai galinga programavimo Windows dalis, kurią geras programuotojas turėtų išmanyti ir naudoti. Kas tai yra?.

Download Presentation

Išteklių scenarijai (resource scripts)

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Itekli scenarijai(resource scripts)


rc.exe

  • Windows SDK turi special rank rc.exe, itekli scenarij kompiliatori (resource script compiler).

  • Tai galinga programavimo Windows dalis, kuri geras programuotojas turt imanyti ir naudoti.


Kas tai yra?

Tai failas, talpinantis GVS (GUI) duomenis, ir, kai sukompiliuotas, gali bti susietas su programa. Tuomet programa gali pasinaudoti duomenimis saugomais scenarijuje. (Pvz.: versija, piktograma ir pan.)


Itekli tipai

  • Iskleidiamasis meniu (drop-down menu)

  • Ikylantis meniu (popup menu)

  • Tekstins eiluts

  • Spartieji klaviai (keyboard accelerators)

  • Piktogramos (icons)

  • Rastriniai paveikslai (bitmap images)

  • Dialogo langai (dialog boxes)

  • Versijos informacija

  • Pels kursoriai


Kuriant scenarijus...

  • Scenarij raymo sintaks yra labai panai C. Pavyzdiui, scenarij kompiliatorius naudoja standartin C parengiamj dorokl (preprocessor). Svarbu atkreipti tai dmes, nes reikia traukti <afxres.h> antratin fail scenarij.

  • Kadangi scenarijuose galima rayti makro komandas, labai danai programuotojai saugo susijusias makro komandas antratiniame faile resource.h.


Naudojant scenarijus...

  • Kai scenarijus yra isaugomas vykdomajame faile, egzistuoja keli bdai juo pasinaudoti. Pavyzdiui, norint kreiptis eilut, naudosims LoadString funkcija, atitinkamai kreipiantis piktogram LoadIcon.

  • Tam, kad galtumt kreiptis scenarij, reikia inoti vykdomojo failo identifikatori (instance handle). Kas bt, jei gautume kito vykdomojo failo identifikatori?


MAKEINTRESOURCE

  • Dirbant su scenarijais is raktinis odis yra labai svarbus. Kaip jis veikia?

  • Itekliai saugomi su vardu, kuris gali bti tiek eilut, tiek skaitinis identifikatorius. Skaitiniu atveju, skaiius negali bti didesnis nei 16 bit, bet iteklius tai kreipiamasi vardu unikodine eilute... Tam, kad skaitinis identifikatorius nebt sumaiytas su eilute, yra perduodama makrokomanda MAKEINTRESOURCE, kuri pakeiia skaii atitinkam eilut.


Itekli identifikatoriai

  • IDS eiluts tipo

  • IDM meniu

  • IDC komandos

  • IDD dialogo lango

  • IDA prieigos klavi lentels

  • IDI piktogramos arba rastrinio vaizdo

  • IDB rastrinio vaizdo

  • ID neinomo tipo


DISCARDABLE

  • Itekliai yra keliami atmint dirbant programai. Taiau programa gali j nenaudoti kur laik, todl bt prasminga juos (arba j dal) paalinti i atminties. Tam tikslui yra naudojamas raktaodis DISCARDABLE apibriant itekli.

  • is raktaodis 32 bit Windows sistemose yra ignoruojamas, bet liks suderinamumo tikslais.


Piktogramos

  • Piktogramos gali bti saugomos itekli faile naudojant raktaod ICON:

  • Programos vykdomasis failas bus rodomas su pirmja piktograma, jei j yra keletas:


  • Antratinis failas apibriamas:

  • klimas piktogramos i vykdomojo failo inant jo identifikatori:

  • Arba t pat galime gauti panaudoj eiluts tip:


  • WNDCLASSEX turi dviej piktogram identifikatorius: didels ir maos. Ma piktogram sudaro 16 tak kvadratas, didel 32. Jei nra pateiktas maos piktogramos identifikatorius didel piktograma yra sumainama.

  • Jei funkcijai yra perduodamas objekto identifikatorius NULL, Windowsai grins numatytj piktogram.


Rastriniai paveikslliai (bitmaps)

  • Rastriniai paveikslliai gali bti ikvieiami taip pat kaip ir piktogramos:

  • Kadangi bitmapai yra dideli, Windowsai gali grinti NULL reikm.

  • Taip pat juos reikia paalinti i atminties perduodant identifikatori funkcijai DestroyObject.


Pels ymekliai

Pels ymekliai apibriami panaiai kaip ir piktogram atveju ir keliami funkcijos LoadCursor pagalba.


Simboli eilui lentels

  • Simboli eiluts gali bti apraomos taip:

  • Pastebsime, kad galima naudoti ir BEGIN END vietoje { }. Kompiliatoriui tai neturi jokios reikms.


  • Lentel keliama funkcijos LoadString pagalba:

  • hInst bibliotekos, talpinanios eilut, identifikatorius

  • uID simboli eiluts identifikatorius

  • lpBuffer simboli masyvo kintamasis, kuris gis eiluts reikm

  • nBufferMax nurodo, kiek simboli gali bti kelta

    Pati funkcija grina nuskaityt simboli kiek.


Prieigos klaviai (accelerators)

Prieigos klaviai yra prasta beveik vis taikomj program dalis, todl j sukrimas scenarijuose yra gera idja. Priegos klavi lentel atrodo taip:


Pavyzdiai

Klavi kombinacijos apibriamos kaip simboliai arba virtualaus klavio kodo reikm:


VIRTKEY - virtuali klavi kodo identifikatoriai


Jei prieigos klaivius susiesime su meniu komandomis, tuomet, paspaudus prieigos klavi, iryks meniu komanda. Nebent nurodytume raktaod NOINVERT:


LoadAccelerators

Norint kelti prieigos klavius, naudosims funkcija LoadAccelerators:


TranslateAccelerator

Tam, kad programa suprast priegos klavi reikmes, reikia pakeisti praneim cikl. Jame panaudosime TranslateAccelerator funkcij, pakeiiani klavi reikmes atitinkamais komandiniais praneimais:


  • Tuo atveju, kai raoma daugelio dokument ssajos (MDI) programa, reikia taip pat reaguoti polangi prieigos klavius. Tam naudosims TranslateMDISysAccel funkcija:

  • hwndFrame programos lango ID

  • hwndClient MDI programos lango ID


Meniu


Ampersendas (&)


Versijos informacija ir dialogai

  • Versijos informacija saugoma itekli faile.

  • Dialogo lango pavyzdys:

  • Jei dialogo langas nra susiejamas su klase, tuomet laukas CLASS nra upildomas


  • Login