Opprette et grafisk brukergrensesnitt ved hjelp av Win32 API. XmManager-klassen. Denne klassen er abstrakt, dvs. ikke brukt til gyteobjekter. Den definerer de grunnleggende parameterne som trengs for å bygge widgetklasser som kan

Merknad: Undersøkt er de visuelle elementene som utgjør det grafiske brukergrensesnittet, deres layout, dimensjoneringspolicy, signal-sporforbindelser, grafiske grensesnittelementer og deres bruk.

13.1 Widgets

Widgets er de visuelle elementene som utgjør det grafiske brukergrensesnittet.

Eksempler på widgets:

  • Knapp (QPushButton-klasse);
  • Etikett (QLabel-klasse);
  • Inndatafelt (QLineEdit-klasse);
  • Numerisk tellerfelt (QSpinBox-klasse);
  • Rullefelt (QScrollBar-klasse).

Qt har omtrent 50 ferdiglagde klasser med grafiske elementer tilgjengelig for bruk. Foreldreklassen for alle widgets er QWidget-klassen. Alle hovedegenskapene til visuelle elementer er arvet fra det, som vi nøye vil vurdere. La oss starte vår utforskning av måter å utvikle programmer med et grafisk grensesnitt med et eksempel.

La oss lage en tom prosjektfil. Start prosjektveiviseren og velg elementet i delen Prosjekter Annet prosjekt... Deretter velger du type prosjekt Tomt Qt-prosjekt... Legg til innhold i prosjektfilen:

MAL = app # Qt-moduler vi skal bruke QT + = widgets # Legg til widgets-modul for å jobbe med widgets (påkrevd for Qt5). TARGET = widget # Kjørbart filnavn KILDER + = \ main.cpp

La oss nå lage et enkelt program med et vindu der vi vil vise inskripsjonen. La oss angi størrelsen på vinduet og teksten til tittelen, samt angi fonten for bildeteksten. For å gjøre dette, lag en main.cpp-fil med følgende innhold:

#inkludere #inkludere int main (int lArgc, char * lArgv) (// Opprett et QApplication-objekt som initialiserer og konfigurerer vindusprogrammet, // kontrollerer kjøringen ved hjelp av QApplication-hendelsesløkken lApplication (lArgc, lArgv); QLabel lLabel; // Opprett en QLabel widget - etikett lLabel.setText ("Jeg er widget!"); // Angi teksten for etiketten lLabel.setGeometry (200, 200, 300, 150); // Angi dimensjonene - posisjon (x, y) bredde og høyde. Angi justeringsteksten lLabel.setAlignment (Qt :: AlignHCenter | Qt :: AlignVCenter); // QFont-klassen brukes til å angi fontinnstillingene. // Velg Arial Black-skriftfamilien og størrelse 12. QFont lBlackFont (" Arial Black", 12); lLabel. setFont (lBlackFont); // Angi fonten for etiketten lLabel.show (); // Kall show ()-metoden for å vise etiketten på skjermen.return lApplication.exec () ; // Kjør programmet exec () utfører // loop-hendelsesbehandlingen Programmet venter på brukerhandlinger og behandler dem.)

Som du kan se, har elementene som utgjør grensesnitt i Qt sin egen posisjon og størrelse - den såkalte "geometrien" - og opptar dermed det tilsvarende rektangulære området på skjermen (se figur 13.1). Hvert av elementene har også innstillinger som bestemmer dets oppførsel og utseende.


Ris. 13.1.

For å skape struktur, er widgets organisert i et hierarki på en del-hel basis. Hver av widgetene kan inneholde andre widgets. Et slikt visuelt element blir "overordnet" (overordnet widget) til elementene det inneholder. Merk at et slikt forhold ikke skal forveksles med arv i C ++ — forholdet mellom klasser i et program. Relasjoner mellom widgets er forhold mellom objekter. Dette forholdet har flere konsekvenser:

  • det overordnede elementet vil være ansvarlig for å slette underelementet: hvis overordnet widget slettes, vil det automatisk slette alle underordnede elementer;
  • foreldrewidgeten plasserer barnewidgeter inne i seg selv, deler av barnewidgeter som går utover forelderen vil være usynlige;
  • en del av tilstanden til overordnet widget overføres til barnet - dette gjelder noen egenskaper (synlighet, aktivitet) og stiler som pålegges det visuelle elementet.

Widgets som ikke har en forelder (widgets på øverste nivå) ser ut som separate vinduer i programmet. La oss se på et eksempel. La oss kalle det nye prosjektet ParentExample. Prosjektfilen vil inneholde innstillingene som er vanlige for et GUI-prosjekt:

MAL = app MÅL = ParentExample QT + = widgets

For widgeten som vi skal bruke som hovedvindu, vil vi opprette en ny klasse. For dette i kategorien Filer og klasser velg C++-delen og velg C++-klassen (se figur 13.2).

Det neste trinnet er å lage flere elementer på vinduet. For å gjøre dette, åpne parentwidget.cpp-filen og endre klassekonstruktørkoden. For å vise elementene trenger du bare å lage dem i klassekonstruktøren og angi ParentWidget som far for dem. parentwidget.cpp-koden ser slik ut:

#include "parentwidget.h" #include #inkludere #inkludere ParentWidget :: ParentWidget (QWidget * parent): QWidget (parent) (// Lag en etikett som spesifiserer overordnet widget - dette, det vil si en forekomst av ParentWidget-klassen.QLabel * lLabel = new QLabel (this); // Posisjon i forhold til øvre venstre hjørne av den overordnede lLabel -> setGeometry (50, 0, 100, 30); lLabel -> setText ("TextLabel"); // Tekst på etiketten. // Lag en knapp, angi en overordnet, geometri og tekst QPushButton * lPushButton = ny QPushButton (dette); lPushButton-> setGeometry (50, 50, 100, 30); lPushButton-> setText ("PushButton"); // Opprett et inndatafelt, angi en overordnet geometri og tekst QLineEdit * lLineEdit = ny QLineEdit ( dette); lLineEdit -> setGeometry (50, 100, 100, 30); lLineEdit -> setText ("LineEdit"); lLineEdit -> selectAll (); // Velg teksten i inndataene felt (bare for eksempel) // Endre til slutt størrelsen på det overordnede widget-settetGeometry (x (), y (), 300, 150); // og sett vinduets titteltekst setWindowTitle ("overordnet widgetExample");)

Siden forelderen er ParentWidget, er etiketten (QLabel), knappen (QPushButton) og tekstboksen (QLineEdit) innenfor den. Plasseringen av underordnede widgets er i forhold til det øvre venstre hjørnet av faren. Dette er enkelt å verifisere ved å endre størrelsen og plasseringen av vinduet i programmet vårt. Legg merke til hvordan vi opprettet brukergrensesnittelementene i haug ved å bruke den nye operatøren. Dette sikrer at ingen elementer fjernes etter at ParentWidget-konstruktøren er ferdig.

GUI-standard.

En av de viktigste endringene i dataindustrien er fremveksten av det grafiske grensesnittet. Så det var behov for å ta i bruk GUI-standarder som definerer hvordan Windows-applikasjoner skal se ut? Macintosh, etc. Det finnes til og med sertifiseringsprogrammer som leverandører skreddersyr applikasjonene sine for å få Windows-merket. Dette gjøres av flere grunner.

En av styrkene til Windows eller Mac er standardutseendet deres. Når du har lært å jobbe i en av dem, tenk på at du eier resten. De fleste Windows-applikasjoner bruker de samme konvensjonene, slik at du vet hvordan du åpner, lagrer, skriver ut, lukker og kopierer en fil fra en av dem. Standardgrensesnittet er veldig brukervennlig. Du må prøve å få applikasjonene til å se ut som andre Windows-applikasjoner som brukere allerede har lært å jobbe med. Det er syv generelle prinsipper for GUI-design. Hvis du studerer dem og følger dem, vil søknadsdesignet ditt være greit.

Syv prinsipper for GUI-utvikling.

De syv generelle prinsippene for GUI-utvikling er hentet fra Micrisoft Windows Interface Guide. De gir et rammeverk som du kan lage dine egne standarder fra. Denne ordningen gir utviklere og brukere to betydelige fordeler. For det første ser appene profesjonelle ut. For det andre er de funksjonelle, konsistente med andre applikasjoner og enkle å lære for brukere.

For at en søknad skal bli vellykket, må den selvfølgelig være velskrevet og nyttig – dette er hovedkravet. Prinsippene vi snakker om gir bare utvikleren mat til ettertanke.

1. La brukeren kontrollere applikasjonen.

2. Følg objekt/handlingsparadigmet.

3. Vær konsekvent.

4. Gjør arbeidet med applikasjoner enkelt og greit.

5. Strebe for harmoni.

6. Gi tilbakemelding til brukeren.

7. Vær nedlatende

Prinsipp én: la brukeren kontrollere applikasjonen.

Brukeren må administrere applikasjonen, det vil si ha tilgang til hver modul i applikasjonen fra en hvilken som helst annen modul. Tidligere ble det brukt en hierarkisk meny for denne tilgangen.


La oss si at en bruker ønsker å legge til en ny kunde I eksempelet må brukeren gå til modulen ACCOUNTS RECCIEVable og deretter legge til en ny kunde fra. Hvordan vet han hva han skal gjøre? Sannsynligvis fra min erfaring med denne appen. Og i GUI-verdenen velger brukeren ganske enkelt Ny fra menyen, deretter Kunde, som vist i figur 4-2. I dette moderne systemet kan du legge til en ny kunde, selger eller lageroppføring via Fil-menyen. Dette lar deg endre kundeposten mens du er på selgerskjermen, og omvendt. Brukeren trenger ikke lenger å forstå den komplekse og forvirrende hierarkiske menyen.

Prinsipp to: følg objekt/handlingsparadigmet.

Objekt/handlingsparadigmet sier at en operasjon kan utføres på alle objekter i systemet. Det enkleste og mest åpenbare eksemplet er kundestøtteskjermen (fig). Skjermen inneholder et sett med knapper og hver av bunnen lar deg utføre noen handlinger på informasjon om den valgte klienten. Du kan slette den, redigere den, skrive den ut osv. Handlinger som kan utføres på en spesifikk klient må være tilgjengelig eller utilgjengelig til riktig tid. For eksempel, når en kundepost er i redigeringsmodus, bør knappene Slett og Ny være deaktivert.

Prinsipp tre: Vær konsekvent.

Konsistens er et av de viktigste prinsippene for GUI-utvikling. GUI - Lar brukere utforske flere applikasjoner enn eldre programmer. Og alt dette takket være prinsippet om konsistens. Når en bruker kommer over et nytt program, er han allerede kjent med de grunnleggende kommandoene: åpne, skrive ut og lagre filer. Applikasjoner utviklet på disse plattformene er vanligvis konsistente med hverandre.

Vær derfor konsekvent når du oppretter nye applikasjoner. Hvis du brukte New-kommandoen til å legge til en ny oppføring, bruk den overalt. Du bør ikke erstatte dette ordet med andre - for eksempel ordet Add 9 add). Med sekvensen din vil brukere vite at uansett hvor de møter kommandoen Ny, kan de brukes til å legge til en ny post.

Prinsipp fire: Gjør søknaden din enkel og grei.

Du kan si det slik: ikke bruk sjargong. Det er en skjerm med to knapper. En av dem sier "Pack Database", og den andre sier "Fjern poster merket for sletting." Den andre oppføringen vil sannsynligvis være mer forståelig for brukeren.

Ved utvikling av applikasjoner er det ofte fristende å bruke programmeringsslang i grensesnittet. Prøv å unngå dette når det er mulig.

Prinsipp fem: Streb for harmoni

Selv i svart-hvitt har denne skjermen en betydelig estetisk ulempe: en hvit bakgrunn og kontrasterende objekter på den. I fig. Den samme skjermen ser godt balansert ut fargemessig.

Det er millioner av fargekombinasjoner som kan overføres til Windows. Betyr dette at alle skal brukes? Selvfølgelig ikke. Du bør velge enkle, rolige farger og unngå deres rotete blanding, noe som av en eller annen grunn gleder noen programmerere.

Sjette prinsipp. Gi tilbakemelding til brukere.

Tenk deg at søknaden din har en prosess som tar lang tid å fullføre. I løpet av denne tiden kan en melding som ligner på følgende vises på skjermen: "Programmet kjører, vennligst vent". Praktisk løsning; men hvordan vet brukeren at den ikke er frossen? Derfor er det høyst sannsynlig at han vil gi applikasjonen en tre-fingers hilsen (Ctrl + Alt + Del), selv om programmet vil være greit.

Bedre å vise brukeren hvilken del av prosessen som gjøres. Da vil han ikke avbryte programmet forgjeves, han vil kunne vurdere hvor langt arbeidet har kommet, og gjøre andre ting til prosessen er fullført. Dermed vil brukerens produktivitet øke med ca 25 prosent. Dette resultatet kan oppnås ved ganske enkelt å vise måleren på skjermen. Vanligvis vises meldinger som "10 av 100 poster behandlet" eller "40 % fullført". Enda bedre, vis både antall behandlede poster og deres prosentandel "

Prinsipp syv: Vær tilgivende

Hver av oss slettet noen ganger en post ved et uhell å trykke på feil knapp. La derfor brukeren få muligheten til å ombestemme seg eller avbryte handlingene de nettopp har utført. Hvis prosessen tar lang tid, endrer store mengder data eller krever at brukeren oppretter en sikkerhetskopi av dataene før handlingen utføres, er det nødvendig å gi en tilsvarende advarsel. Jeg har sett applikasjoner som krever bekreftelse to ganger, og be da også om et passord. Trenger programmene dine dette beskyttelsesnivået? Kanskje. Utviklerens oppgave er å hjelpe brukeren hvis han gjorde en feil på et hvilket som helst stadium av arbeidet.

Viktigheten av GUI-konvensjoner.

Som du kan se, er prinsippene for GUI-design veldig enkle og bør brukes når du lager skjermer. Før du designer en skjerm, må du imidlertid fastslå hvordan den vil se ut. Velg størrelser, fonter, farger, meldingsstiler osv. Ved å løse disse problemene på forhånd, vil du gjøre arbeidet betydelig raskere. Når det kommer til fonten eller stilen på meldingene i etterkant, ser du bare på standarden.

Når du utvikler applikasjonsprogrammer, virker det nyttig å lage grafisk brukergrensesnitt... Faktisk er dette opprettelsen av et miljø for å beregne problemer i en bestemt klasse uten programmering av brukeren. Som regel er det fornuftig å utvikle slike grensesnitt for oppgaver med flere parametere dersom slike oppgaver skal løses gjentatte ganger. I dette tilfellet er det tilrådelig å utvikle et grafisk grensesnitt som hjelper brukeren med å få resultatene av å løse problemet (vanligvis i en grafisk form) med et visst parametervalg. Et slikt grensesnitt kan også være praktisk når du lager pedagogiske problemer, fordi studenten i dette tilfellet bruker sin hovedoppmerksomhet ikke på programmering eller løsning av problemet, men på valg av nødvendige parametere, analyse og forståelse av de oppnådde resultatene.

Fra den korte introduksjonen ovenfor er det klart at de obligatoriske elementene i det grafiske grensesnittet ved løsning av vitenskapelige og/eller pedagogiske oppgaver bør være:

1. Ett eller flere vinduer for visning av grafiske beregningsresultater.

2. Flere redigerbare vinduer, ved hjelp av hvilke verdiene til oppgaveparametrene settes og/eller endres.

3. Kontrollknapper som lar deg starte og stoppe beregningsprosessen, tegne resultatene på nytt og avslutte oppgaven.

4. Forklarende etiketter (statisk tekst).

Selvfølgelig er andre kontroller mulige, for eksempel rullelister, radioknapper for å velge ett av mange alternativer, og så videre, men i denne opplæringen vil vi bare dekke de fire typene som er oppført i detalj. Figur 8 viser det enkleste grensesnittet designet for å studere slagene generert ved å legge til to harmoniske svingninger med nære frekvenser. Som du kan se fra figuren, er alle de ovennevnte elementene til stede i den.

For å lage et slikt grensesnitt kan du bruke de grafiske utdatafunksjonene, samt en spesiell funksjon designet for interaktiv brukerinteraksjon med tegningen. Denne funksjonen kalles uicontrol. Men for å forenkle arbeidet og lage samme type grensesnittelementer i MATLAB-systemet, er det et spesielt program som lar deg lage de nødvendige elementene på nivå med visuell programmering, nesten uten å skrive kode.

Ris. 8. Enkelt grafisk brukergrensesnitt for å løse "Beating"-problemet

9.1. Skaper utseendet til grensesnittet

I denne delen skal vi se på bruk av MATLAB til å designe utseendet til et grafisk grensesnitt (GUI -GraphicsUserInterface) ved hjelp av grafiske (visuelle) programmeringsverktøy. For å kalle opp den visuelle editoren, skriv inn guidekommandoen i MATLAB-kommandovinduet. Etter en viss tid, bestemt av hastigheten til datamaskinen din, vil to nye vinduer vises, vist i figur 9. En av dem er et kontrollpanel (Kontrollpanel, i figuren til venstre) og en form eller tegneområde (Figur, i figuren til høyre). Disse vinduene kan overlappe hverandre, men vi har plassert dem ved siden av hverandre for tydelighetens skyld. Bildet ovenfor vil vises på skjermen hvis det ikke er noe åpent bilde før du ringer guide. Hvis guidefunksjonen kalles opp etter å ha tegnet et bilde, åpnes den i stedet for en tom. Vi vil dekke opprettelsen av et grafisk grensesnitt helt fra begynnelsen.

Før du oppretter et GUI, er det tilrådelig å "designe" det du vil ha som grensesnitt. Vi vil vurdere et eksempel på å sende ut tre forskjellige signaler i tre undervinduer, som når det gjelder grafikk på høyt nivå vil bli definert av subplot-operatorene (3,1, k), der k er nummeret på grafen. I tillegg,

Ris. 9. Generell visning av redigeringsvinduet for visuell grafikk og redigeringsvindu

til høyre for selve undervinduet med grafer ønsker vi å ha tre redigerbare undervinduer

for der du kan legge inn / redigere de numeriske verdiene av tre

variabler. La disse variablene ta vilkårlige verdier.

I denne presentasjonen vil vi ikke utstyre våre redigerbare avmerkingsbokser.

som, om de angitte verdiene tilfredsstiller noen betingelser, selv om en slik

kan. La oss kalle disse variablene N, R, C. I dette eksemplet mener vi beregningen

strøm i RC-kretsen når signalet med tallet N tilføres terminalene, og R og C er

spenning og kapasitans i kretsen (for en detaljert beskrivelse av problemet, se avsnitt 10 i hovedboken

teksten til håndboken).

Grensesnittet vårt skal tillate deg å endre skiltet

verdier av N, R og C, kommer i tre plassert

det ene over det andre undervinduene signal (spenning,

påført terminalene), utledet fra signalet

la og spenningen over motstanden U r. I tillegg til

vinduer for visning av diagrammer og redigerbare vinduer

R u n E x i t

inngang må plasseres på grensesnittpanelet

det er to knapper til - KJØR - start programmet på

Ris. 10. Grensesnittvisning

konto og EXIT - oppsigelse og sletting

grafikkvindu.

Det første trinnet er å utvikle utseendet til grensesnittet. Slipp forbi

vår foreløpige skisse, skal grensesnittet se ut

som følger (fig. 10). Elementene i dette grensesnittet er tre vinduer

grafutgang (akser i forhold til kontrollpanelet), tre statiske etiketter N, R, C (tekst), tre datainntastings-/redigeringsvinduer (rediger) og to knapper (trykk).

For å lage undervinduer der grafene skal vises, bruk knappen vist til høyre i figuren (vindu og akser). Ved å klikke på dette elementet på kontrollpanelet og flytte musen til tegnepanelet, må du plassere krysset, som vil være på tuppen av musen, i det

stedet der øvre venstre hjørne av det første undervinduet skal være. Ved å trykke og holde venstre museknapp, må du strekke det resulterende rektangelet til ønsket størrelse. Etter det gjentas prosedyren for å konstruere de to andre vinduene på samme måte.

For å lage redigerbare inndatabokser, bruk redigeringsknappen vist til høyre. Det brukes på samme måte som når du lager undervinduer med akser. Først dukker det opp en mus, lastet med et kryss, ved hjelp av hvilken inndatarektangelet er konstruert.

Etikettene på bildepanelet lages ved hjelp av tekstknappen, som pakker inn og justeres på samme måte som beskrevet ovenfor. For at en slags tekst skal vises innenfor området med statisk tekst

inskripsjon, må du jobbe med egenskapsredigereren, som kalles enten ved å bruke knappen Eiendomsredigering, eller ved å dobbeltklikke med venstre museknapp på det tilsvarende objektet i bildepanelet.

Et panel merket Push brukes til å lage og plassere knapper. Metoden for å plassere knappen og velge størrelsen er helt den samme som metoden beskrevet ovenfor for redigeringsvinduet og det statiske tekstvinduet.

Konstruert på denne måten kan utdata- og redigeringsvinduer, statiske tekstvinduer og knapper, så vel som andre objekter, justeres og angi spesifikk avstand mellom dem ved hjelp av justeringsverktøyene.

For å gjøre dette, klikk på den tilsvarende knappen på kontrollpanelet, og justeringspanelet vises. For å angi et antall objekter som eventuelle handlinger skal utføres med, er det nødvendig å velge dem ved å klikke på hvert av dem mens du holder nede Shift-tasten. Utvalgte objekter er merket

svarte prikker rundt de tilsvarende objektene. Hvis du trenger å endre størrelsen på et objekt (knapper, vinduer osv.), må du klikke på dette objektet med venstre museknapp og bruke musen til å endre ønsket størrelse på samme måte som størrelsen på alle Windows vindu.

Når du arbeider med grafiske objekter i tegnepanelet, er det lurt å utvide (ved hjelp av den tilsvarende knappen i Windows-vinduet) tegnepanelet til fullskjerm og velge størrelsen på alle objektene i tegnepanelet.

Siden alle objekter som standard er størrelse i piksler, kan dette føre til at når utdatavinduet endres, kan knapper og/eller vinduer støte på hverandre. For å unngå et slikt uønsket fenomen, er det nødvendig å sette enhetene for størrelsen på alle objekter i dimensjonsløse variabler - brøkdeler av vindusstørrelsen. Denne størrelsen kalles normalisert. For å gjøre dette, må du ringe eiendomsredaktøren ved å klikke på knappen med knappen ovenfor på kontrollpanelet.

av Eiendomsredaktøren. Etter å ha valgt alle objektene vi har lagt inn i det øvre vinduet i egenskapseditoren (ved å bruke den holdte Ctrl-tasten og velge objekter med venstre museknapp), i det nedre vinduet i egenskapseditoren finner vi Units-egenskapen og velger den ved å klikke venstre museknapp. Etter det, i den midtre delen av editoren, i et spesielt vindu til venstre, vises egenskapen Enheter, og til høyre - vinduet for valg av verdi, der det er en rullegardinliste med tillatte egenskapsverdier. Enheter-egenskapen må settes til normalisert. På samme måte må du angi verdien til FontUnits-egenskapen - måleenheten for størrelsen på skriftene. Dette sikrer at skriftstørrelsen endres når vinduet endres.

For å plassere etiketter på knapper og i området med statisk tekst, velg det korresponderende objektet (enten ved å dobbeltklikke direkte i tegneområdet, eller i det øvre vinduet i egenskapseditoren) og finn String-egenskapen i det nedre vinduet i egenskapseditoren, og etter å ha valgt den, skriv inn den nødvendige teksten mellom anførselstegnene (f.eks. 'Start' på den tilsvarende knappen). For å sette etiketter over hvert av utdatavinduene, velg det tilsvarende vinduet og kall opp egenskapseditoren8, i det nedre vinduet som du må finne Tittel-egenskapen.

8 Eiendomseditoren kan kalles ikke bare ved å bruke knappen på kontrollpanelet, men

og dobbeltklikke på det tilsvarende objektet.

Den tradisjonelle grafiske tilnærmingen til brukergrensesnitt er assosiert med arbeidet til Sutherland, Newman og andre, der interaksjon er basert på bruk av et grafisk display med regenerering og en lyspenn. Videreutvikling av grafisk dialog er forbundet med fremgang innen interaktive datagrafikksystemer, noe som førte til regulering i form av internasjonale standarder.
GKS er den første internasjonale grafikkstandarden. Det var den første som registrerte begrepene "arbeidsstasjoner" og logiske inndataenheter (tastatur, utvalg, locator, locator, peker, inntasting av en sekvens av koordinater). Dessverre unnfanget på tidspunktet for overherredømmet til vektortegningsparadigmet. Derav svakheten med dialogstøtte: manglende evne til å legge inn nye enheter eller endre bildet av en enhet på skjermen selv fra et applikasjonsprogram (bruker av en grafikkpakke), noe som fører til behovet for å bruke hovedsakelig tegninntasting når du organiserer en dialog . Gjennomføringen av dialogen i GKS er søknadsprogrammets prerogativ, mulighet for egen utforming forutsettes ikke.
Den andre retningen for grafikk - rastergrafikk hadde en ekstremt stor innflytelse på all påfølgende utvikling av interaktive systemer. Alle kjernefunksjoner for brukergrensesnitt på moderne arbeidsstasjoner er avledet fra Xerox PARCs arbeid: vindusbehandling

  • bruk av grafiske symboler ("ikoner") for å representere objekter
  • en interaksjonsstil kalt direkte manipulasjon
  • populariteten til "musen" som en posisjoneringsenhet på skjermen
  • objektorientert programmeringsstil.
Siden den gang har klassifiseringssystemet for verktøy for å lage og administrere brukergrensesnitt blitt vurdert på tre nivåer:
  1. vindusstyringssystemer (WMS - Window Manager System);
  2. spesialisert verktøy;
    • vanlig (MacIntosh, SunView...)
    • objektorientert (Smalltalk-80, Andrew, InterView)
  3. styringssystemer for brukergrensesnitt.
De følgende avsnittene vil gi korte karakteristikker, status og funksjonelle beskrivelser av hvert av disse nivåene.

Window Management Systems (WMS)

Multi-vindusteknologi gir brukeren tilgang til mer informasjon enn det som er mulig med en enkelt skjerm. Windows gir tilgang til en rekke informasjonskilder. Brukeren kan kombinere informasjon fra flere kilder, utforske informasjon på ulike detaljnivåer. I multiprogrammeringsmodus er det mulig å håndtere flere parallelle oppgaver. Inngang og utgang av hver oppgave vises i forskjellige vinduer, slik at brukeren kan fokusere på hver oppgave etter behov.
WMS, driftsmiljøet for vindusrelaterte administrasjonsressurser, gir støtte for:

  • overlappende vinduer (rektangulære områder på skjermen);
  • ulike inngangsenheter (digitale og analoge);
  • markører;
  • fonter.
Grensesnittet fra operatørens side og applikasjonsprogrammet inneholder kommandoer for å åpne/ødelegge vinduer, endre størrelse og posisjon, løfte opp, krympe vinduet til et ikon og gjenopprette. Inneholder et grafisk utdatabibliotek (kun grunnleggende primitiver) og en hendelsesbehandler. Dermed er det noen mekanismer for å implementere brukergrensesnittet.
Det finnes to typer WMS-implementeringer: et grunnleggende system (Kernel System), som kjører på én maskin, og et nettverk (Nettverksorientert) system, implementert på grunnlag av en klient-server-modell.

Verktøysett for brukergrensesnitt

DOKUMENTETS STRUKTUR

4.1. Visuell programmeringsteknologi

4.1.2. Visual Studio hovedvindu

4.1.3. VS hovedmeny og verktøylinje

4.1.4. Visual Studio Panel Windows

4.1.5... Konfigurere VS-utviklingsmiljøinnstillinger

4.1.6. Testoppgaver

4.1.7. VS .NET Development Environment Lab

4.1. Visuell programmeringsteknologi
og grunnleggende konsepter

Sammenlignet med tidligere generasjoner programmeringsspråk, språket programmering på høyt nivå– Visual Basic .Net (VB) har en rekke grunnleggende forskjeller. Det er et kraftig, profesjonelt programmeringssystem som lar deg raskt og effektivt lage applikasjoner for MS Windows . Siden systemet er « visuell», programmereren kan lage den synlige delen av MS Windows-applikasjonen , uten å skrive nesten en eneste kodelinje. Denne synlige delen er grunnlaget for brukergrensesnittet « programvareprosjekt - bruker », ved hjelp av hvilken brukeren samhandler med programvareprosjektet. Utviklingen av både programkoden for klasser og metoder for å løse problemet, og programgrensesnittet til applikasjonen utføres på prinsippene objektorientert tilnærming , implementert i Visual Studio .Net (VS) . Applikasjoner (prosjekter) kjøres under MS Windows ved hjelp av Integrert utviklingsmiljø (IDE).

For applikasjoner som er opprettet med IDE, er en karakteristisk egenskap at det til enhver tid finnes mange objekter på skjermen: skjemaer, vinduer, knapper, menyer, tekst og dialogbokser, rullefelt, etc. Brukeren har en viss (avhengig av algoritmen til problemet som skal løses) valgfrihet når det gjelder bruken av disse objektene. Han kan klikk ved å bruke museknappen, dra objektet, skriv inn data i vinduet osv. I de fleste tilfeller antas det ikke en forhåndsdefinert sekvens av handlinger. Typisk utvikleren programvare(Programvare) opprettelse av et programvareprosjekt bør ikke begrense handlingene til applikasjonsbrukeren. Han må utvikle programvare som reagerer adekvat på enhver brukerhandling, selv den gale (i et godt program skal det ikke være utilsiktede handlinger). Derfor, for hvert objekt på skjermen, er det en rekke mulige hendelser. Noen av dem er laget av brukeren: klikke eller dobbeltklikke på en museknapp, dra et objekt, trykke på en tastaturtast, skrive inn tekst i et vindu, etc. andre hendelser oppstår som et resultat av andre hendelser: for eksempel et vindu åpnes eller lukkes, en kontroll blir aktiv (tilgjengelig) eller mister aktivitet. Dessuten manifesterer hver hendelse seg i visse handlinger (svar, reaksjoner, oppførsel) i programvareprosjektet. Disse handlingene kan deles inn i to grupper.



Den første er en konsekvens av egenskapene til objektet. Disse egenskapene er satt av programvareutvikleren fra en viss standard liste over egenskaper satt av programmeringssystemet og/eller MS Windows selv. . Et eksempel på slike handlinger er å minimere vinduet etter å ha klikket på knappen Kollapse. I slike tilfeller kan ikke programmereren endre oppførselen til et objekt. Imidlertid er det i mange tilfeller en viss mulighet for å variere objektets respons på en hendelse (tekst, font, farge, størrelse, skjermplass osv.) ved å angi visse egenskaper.

Den andre gruppen av handlinger (respons) på hendelser bestemmes fullstendig av programvareutvikleren. Dette sikres av muligheten til å spesifisere en VB-prosedyre for hver mulig hendelse. Til å begynne med er hver slik prosedyre tom, uten prosedyretekst, og derfor, når en hendelse inntreffer, skjer det ingenting. I teorien er det mulig å lage en prosedyre for enhver hendelse, men i praksis fyller programmereren ut prosedyrekoden med programkoden kun for de hendelsene som er av interesse.

Dermed gir VB brukeren et hendelsesbasert objektorientert programmeringsmiljø. For å si det enkelt, prosessen med å utvikle et programvareprosjekt i dette miljøet koker ned til å velge et sett med objekter og deres egenskaper, sette hendelser og prosedyrer for deres behandling, og lage programvare for å løse problemet, som sammen sikrer funksjonen til opprettet applikasjon.

Hovedvilkårene for visuell programmering, som nevnt ovenfor, er en gjenstand, formen, eiendom, klasse, hendelse, prosedyre, metode dr., som i alle visuelle applikasjonsutviklingsmiljøer har samme betydning.

Gjenstand Er en slags separat enhet som skiller seg fra andre enheter i spesielle egenskaper, oppførsel, interaksjon med andre objekter i applikasjonen. I den objektorienterte tilnærmingen er enhver applikasjon et sett med sammenkoblede objekter som implementerer de nødvendige funksjonelle kravene til applikasjonen. Et objekt er alltid konkret og eksisterer faktisk på skjemaet (som kontroller) eller i applikasjonen (som klasseforekomster).

Grunnenheten i objektorientert programmering er et programobjekt som kombinerer både dataene (egenskapene) som beskriver det og virkemidlene for å behandle disse dataene (metodene). Det vil si at programvareobjekter har egenskaper, kan bruke metoder og reagere på hendelser.

Hovedobjektene for visuell programmering er formen og dens kontroller.

Skjema ) Er et objekt som representerer et vindu der kontroller er plassert, for eksempel en knapp (Knapp); Merkelapp (Merkelapp); Tekstfelt (Tekstboks); Avmerkingsboks (Avmerkingsboks); Liste (ListBox); Nedtrekksliste (ComboBox); Bytte om (Radioknapp)og så videre .

Det visuelle programmeringsmiljøet lar deg se objekter på skjermen på designstadiet av applikasjonen, gjør det mulig å tilpasse objekter ved å endre deres plassering, størrelse og andre egenskaper. Skjemaet er containerobjekter, og samtidig er seg selv også et objekt. Når du plasserer et objekt på skjemaet, lagres hovedparametrene til objektet i den kjørbare programkoden. I dette tilfellet er objekter også programblokker eller fragmenter av programkode (klasser, prosedyrer, metoder, moduler), som det utformede prosjektet (applikasjonen) er "samlet fra".

Objektegenskap Er en verdi eller karakteristikk lagret av et objekt. Samtidig bestemmer settet med egenskaper til et objekt dets tilstand. For eksempel, Tekst ( Tekst ) eller Farge ( Baksidefarge ) form, måte Tekstjustering ( Justering ) eller Karakterfarge ( Forfarge ) tekstboks er egenskaper. I programmet åpnes objektet etter objektnavn ... Objektegenskaper kan settes i vinduet Egenskaper og endre egenskapene til objekter i programkoden.

I programkoden er det visse regler (spesifikt format) for å sette en egenskap - objektnavn og eiendomsnavn i henhold til reglene for punktnotasjon er atskilt med en prikk .

Klasse Er en samling gjenstander med felles egenskaper og oppførsel. For eksempel, Knapp 1( Knapp 1 ) Skjema 1(Skjema1 ) med alle dens spesifikke egenskaper og handling er et objekt av klassen Knapp . Klassen er preget av slike grunnleggende konsepter for objektorientert programmering som:

· arv - et klasseobjekt har alle egenskapene, metodene og hendelsene til klassen;

· innkapsling - skjule den komplekse mekanismen for objektets handling;

· polymorfisme - objekter av forskjellige klasser kan bruke metoder med samme navn, som fungerer forskjellig for forskjellige objekter.

Samling av gjenstander Er et sett med objekter forent med et felles navn, og ikke nødvendigvis objekter av samme klasse. Et eksempel på en samling er samlingene innebygd i VB, inkludert:

· Skjemaer(Skjemaer) - mange innlastede søknadsskjemaer;

· Kontroller(Kontroller) - Sett med alle kontroller på et skjema.

Navneområde Er et hierarkisk klassebibliotek organisert under unike navn som f.eks System.Windows eller System.Math . For å få tilgang til klasser og objekter basert på dem som er inkludert i navneområdet, kan operatøren plasseres i begynnelsen av programkoden Importer . Hvert prosjekt i VS inneholder også et rotnavnområde. Navnerommet i VS-dokumentasjonen kalles også klassebiblioteker .

Begivenhet Er et middel for interaksjon av objekter med hverandre. Hendelsen kan opprettes av brukeren eller oppstå som et resultat av påvirkning fra andre programvareobjekter. Objekter kan generere hendelser og utføre handlinger som svar på spesifiserte hendelser. Eksempler på hendelser - form , Klikk ( Klikk ) musen over objektet, DblClick ( Dobbeltklikk ) mus og andre . Som en reaksjon på hendelser kalles en hendelsesprosedyre, som kan endre egenskapene til objektet, kall det

På VB-språk , som i mange andre programmeringsspråk designet for å skrive applikasjoner for MS Windows , brukt av
hendelsesdrevet programmeringsmodell. Dette betyr i praksis at ingen applikasjoner kan fungere alene uten å samhandle med andre applikasjoner og med operativsystemet. La oss for eksempel ta det enkleste tilfellet når en kommando spesifiseres ved å trykke på en tast på tastaturet. Det kan ikke påvirke noen av applikasjonene direkte, og MS Windows fungerer i dette tilfellet som en mellommann. Ved å registrere hendelsen knyttet til tastetrykket, bestemmer operativsystemet hvor hendelseshåndteringen skal passere. Tastetrykkmeldingen sendes deretter til applikasjonen. Applikasjonen behandler den ved å analysere tastaturinndata og viser en melding, for eksempel i et aktivt tekstfelt.

Apper laget av med bruker VB , arbeid på grunn av samme prinsipp. Samtidig utfører VB et slags internt arbeid. For eksempel, når en knapp klikkes i applikasjonen, oppstår en hendelse - VB fanger opp den tilsvarende MS Windows-meldingen og øker hendelsen Klikk gjenstand Knapp .

Merk at i hendelsesdrevne programmer, det er ingen kontinuerlig programkode som kjører fra start til slutt. Dette betyr at etter å ha startet programmet, har brukeren ikke en klar ide om den spesifikke banen til algoritmekjøringen. Det vil si at du når som helst kan klikke på en hvilken som helst knapp i applikasjonen eller utføre for eksempel å skrive inn tekst i et felt, eller du kan om ønskelig stoppe behandlingen. Derfor må applikasjonen vente til en av disse hendelsene inntreffer, og først da kjører den spesifiserte programkoden. Og dermed, en hendelse er alltid nødvendig for å begynne å kjøre programkoden Er en av de viktigste reglene for å lage applikasjoner i MS Windows-miljøet .

Responsen på hendelser er en oppfordring hendelsesprosedyre , som tidligere ble laget av en programvareutvikler. Betydningen av en slik prosedyre er utførelse av programmerte handlinger: endre egenskapene til et objekt, kalle metoder, utføre beregninger i henhold til en gitt algoritme med utdata av resultatet til bestemte steder i applikasjonen, etc., for eksempel hvis brukeren trykker på en knapp, deretter utføres en viss sekvens av handlinger som et svar. er definert i hendelsesprosedyren i henhold til den spesifiserte algoritmen.

I tillegg til hendelsesprosedyrer kan brukeren lage generelle prosedyrer (brukerprosedyrer).

Brukerprosedyre Er en komplett programkode som implementerer en egen algoritme for problemet som skal løses. En slik prosedyre kalles imidlertid ved navnet på denne prosedyren, og ikke som et resultat av noen hendelse.

Metode Er en prosedyre som implementerer handlingene som er mulig med et objekt. Som et resultat av disse handlingene endres noe i objektet. VB gir brukeren et stort antall innebygde biblioteksrutiner som er klare til bruk. Disse rutinene er en integrert del av klassebiblioteket, det vil si at de er klassemetoder i .NET Framework.

Prosedyreprogrammeringsverktøy (prosedyrer) er en integrert del av ethvert programmeringsspråk på høyt nivå, som er en av hoveddelene i det moderne programmeringsparadigmet. Men det var først med fremveksten av språk som støtter objektorientert programmering at spesielle typer innebygde prosedyrer ble introdusert, kalt metoder . Metoder "Fungerer" som prosedyrer, men de tilhører spesifikke objekter, akkurat som egenskaper. I programkoden kan du referere til metoden på samme måte som til eiendommen ved hjelp av punktnotasjon.

I VB-miljø kan du lage egen prosedyrer, laget av programvareutvikleren .

Vær oppmerksom på at enhver programkode for et prosjekt skrevet ved hjelp av VB består av et sett med prosedyrer, det vil si at all programkode er så å si inne i et sett med subrutineprosedyrer og funksjonsprosedyrer, og selve prosedyrene er inne i en klasse (modul).

Subrutineprosedyrer begynner med et nøkkelord Under End Sub, og funksjonsprosedyrer begynner med nøkkelordet Funksjon og avslutte med nøkkelord Avslutt funksjon , mellom hvilke programkoden for denne prosedyren er plassert. Programkoden for hver prosedyre består av en eller flere operatører av programmeringsspråket VB.

Metode for hendelseshåndtering Er en komplett programkode som implementerer en egen algoritme. For hver hendelse kan du programmere en respons, det vil si objektets reaksjon på en hendelse som har skjedd, som et resultat vil en viss sekvens av handlinger bli utført - en metode for å håndtere hendelsen.

Navnet på en hendelsesprosedyre har tre deler (inkludert en understreking): Objektnavn_Hendelsesnavn.

På denne måten, hver gang du skriver kode som må utføres som svar på en hendelse, oppretter du en hendelsesprosedyre som kalles automatisk når den tilsvarende hendelsen inntreffer (for eksempel klikkes en knapp).

Operatør Er en programmeringsspråkkonstruksjon som spesifiserer en eller flere operasjoner , produsert over operander . Operandene kan være konstanter, variabler, uttrykk, funksjoner osv. Enhver operatør er skrevet i samsvar med de syntaktiske reglene for programmeringsspråket. For eksempel, i oppdragsoperatøren tegnet " = "Leser" for å tilordne "og betyr at en verdi lik verdien av uttrykket til høyre for" = ". For eksempel linjen

Form4.1.Text = "Skjema med bilde" betyr at i minnet navngitt Skjema4.1.Tekst verdi er skrevet - tekst "Skjema med bilde" og linjen P = A + B + C brukes i et program for å beregne verdien av et uttrykk og tilordne det til en variabel R .

Prosjekt Er en utviklet applikasjon (applikasjonsprogramkode) - et sett med filer som lagrer informasjon om alle programvarekomponenter som brukes i denne applikasjonen. Siden VB , på den ene siden er det objektorientert visuelt programmeringssystem, siden det tillater programmeringsalgoritmer på dette språket, og på den annen side er dette systemet programvaredesign miljø, Resultatet av programmerings- og designprosessene er et prosjekt som kombinerer programmeringskode og et grafisk grensesnitt. Derfor, for å brenne til en plate eller laste fra et hvilket som helst programvareprosjekt, er det nødvendig å brenne eller laste prosjektet, som inneholder alle komponentene (filene). Vanligvis består en VB-applikasjon av mange filer, inkludert en prosjektfil med utvidelsen .vbproj . En prosjektfil inneholder informasjon knyttet til én programvareoppgave – én applikasjon.

Prosjektet er også en sammenstillingsenhet. Sammenstillingen av prosjektet resulterer i en samling. Hvert prosjekt inneholder ett eller flere navneområder. På den innledende fasen av å lage et prosjekt for en gitt prosjekttype automatisk bygget prosjektramme bestående av klasser som er arvinger etter klassene som inngår i biblioteket FCL(Framework Class Library) - .NET Framework-klassebiblioteker. Så hvis utvikleren indikerer at han vil lage et prosjekt av typen " Windows Forms-applikasjon", Da vil objektet bli inkludert i prosjektrammeverket som standard Skjema 1- arvingen til bibliotekklassen Skjema... Utvikleren av programvareprosjektet vil supplere det opprettede skjemaet med kontroller - objekter i de tilsvarende klassene, og dermed utvide funksjonene til standardskjemaet.

Hvert prosjekt inneholder all informasjonen som trengs for å bygge en sammenstilling. Prosjektet inkluderer alle filer med klasser, bygget automatisk på tidspunktet for prosjektoppretting, og filer med klasser, laget av prosjektutvikler. Prosjektet inkluderer også installasjoner og ressurser nødvendig for arbeid. Filen som inneholder monteringsbeskrivelsen (manifest) er også en del av prosjektet.

Avhengig av valgt type, kan prosjektet være kjørbar eller upraktisk... Prosjekter som pågår inkluderer for eksempel prosjekter av typen Konsollapplikasjon eller Windows Forms-applikasjon... Når du bygger skjelettet til et løpende prosjekt, inkluderer det en klasse som inneholder en statisk prosedyre kalt Hoved ()... Som et resultat av å kompilere et slikt prosjekt, PE-fil - kjørbar bærbar fil med filtypen .exe... Slik PE-filen kan bare kjøres på datamaskiner der den er installert Framework .Net siden det er en administrert kodefil.

Ikke-gjennomførbare prosjekter inkluderer for eksempel prosjekter som
Klassebibliotek (DLL) som har utvidelsen. dll, og er dynamisk koblet bibliotek, de. disse prosjektene er ment å inkluderes (knyttes) til andre prosjekter. Som et resultat av å kompilere et prosjekt som
Klassebibliotek sammenstillingen vil inkludere en fil med utvidelsen .dll... Slike prosjekter (montasjer) kan ikke utføres direkte på en datamaskin. De er knyttet til de kjørbare sammenstillingene, hvorfra metodene til klassene som ligger i det ikke-kjørbare prosjektet kalles ( DLL).

Stadier av gjennomføring av de enkleste prosjektene- kan deles inn i flere trinn:

· Oppretting av et grafisk grensesnitt for prosjektet (brukergrensesnitt), som skal sikre interaksjonen mellom prosjektet og brukeren under arbeidet med prosjektet;

· Innstilling av verdier for egenskapene til objekter i det grafiske grensesnittet;

· Oppretting, redigering og feilsøking av programkoden til prosjektet;

· Lagre prosjektet for fremtidig bruk;

· Prosjektimplementering.

Løsning Er en applikasjon under utvikling, hvis filer inneholder informasjon om ett eller flere prosjekter, vanligvis knyttet til et felles tema. Løsningsfilen brukes til å administrere flere sammenkoblede prosjekter og har utvidelsen .sln. Dessuten er hvert prosjekt opprettet i VS plassert i ett skall, kalt Beslutning.

Når et nytt prosjekt er opprettet, kan det plasseres i et eksisterende. Løsning eller en ny kan opprettes Løsning som inneholder prosjektet.

Så legg merke til følgende igjen:

Klasse Er det sentrale konseptet med objektorientert programmering. VB prosjektutvikler bruker standard klasser fra biblioteket FCL og lager sine egne klasser. Dessuten utfører klassen to forskjellige roller:

· Klasse - for det første er det en modul - en arkitektonisk enhet for å bygge et prosjekt på modulbasis. Å takle kompleksiteten til et stort prosjekt er bare mulig ved å dele det inn i moduler - relativt små enheter som tillater uavhengig utvikling og påfølgende integrasjon i et stort system.

· Klasse - for det andre er det en datatype, det vil si en semantisk enhet som beskriver egenskapene og oppførselen til et sett med objekter kalt klasseforekomster. Syntaktisk representerer en klasse en beskrivelse av data kalt klassefelt, beskrivelse klassemetoder og beskrivelse klassebegivenheter ... For en klasse som anses som en datatype, definerer felt tilstanden til objekter, metoder - oppførselen til objekter. Hendelser er noen spesielle tilstander som et objekt kan være i og som kan håndteres av hendelsesbehandlere utenfor klassen. Så for eksempel et objekt i klassen MENNESKELIG kan ha et arrangement" Fødselsdag"Og hver av behandlerne av denne hendelsen kan bringe sine gratulasjoner til objektet ved denne anledningen.

Klasser spiller vanligvis begge rollene. Men i VB kan du definere klasser som bare spiller rollen som en modul. den moduler som det er umulig å lage objekter for.

God programmeringsstil krever at hver klasse lagres i en egen fil, som har samme navn som klassen. Dette er et stilkrav som kanskje ikke oppfylles i praksis. I våre eksempler vil vi prøve å opprettholde denne stilen.

Ved å definere en klasse er prosjektutvikleren i stand til å dynamisk lage klasseobjekter. Det er en vanlig feil for programmerere som er nye i objektstil å forveksle begrepene objekt og klasse. Du må forstå forskjellen helt fra begynnelsen. En utviklergenerert objektklasse representerer en statisk beskrivelse av et sett med objekter. Et objekt er et dynamisk konsept, det skapes under utførelsen av et programvaresystem, det eksisterer faktisk i datamaskinens minne og forsvinner vanligvis ved slutten av prosjektgjennomføringen. En prosjektutvikler kan lage et programvaresystem som inkluderer to eller tre klasser, men i løpet av driften av et slikt system kan hundrevis av objekter dynamisk dukke opp, som samhandler med hverandre på en kompleks måte.

VS hovedvindu

Merk at prosessen med å lage en enkel applikasjon i VS-miljøet vil bli beskrevet i detalj i det neste Tema 4.2, samt i laboratoriearbeid vedr Tema 4.1."Visual Studio .NET integrert utviklingsmiljø". Gjør deg nå kjent med grensesnittet til VS-miljøet.

Løpe MS Visual Studio.

Skjermen vises startside- MS VS ( ris. 4.1.2-1).

Det er flere hovedpaneler i dette vinduet: Standard meny, vindu Standard verktøylinje, vindu Startside anitz en, vindu Solution Explorer, vindu Elementpanel.

Ris. 4.1.2-1. Startside -Microsoft Visual Studio

Det skal bemerkes at når du arbeider med VB i VS IDE, kan du bruke både knappene på standardverktøylinjen og hovedmenyen øverst på skjermen.

VS gir brukeren en rekke verktøylinjer. Disse verktøylinjene inneholder knapper hvis funksjon avhenger av funksjonaliteten til den aktuelle verktøylinjen.

Vindu startside lar deg åpne nylig brukte prosjekter, søker etter eksempler, inneholder ulike lenker til nettsteder som kan hjelpe når du jobber med VS . I tillegg til prosessen med å jobbe med et prosjekt, vil forskjellige vinduer vises i stedet for startsiden, for eksempel et vindu Skjemakonstruktør, vindu Kode editor og så videre.

I vinduet Solution Explorer filene til gjeldende løsning (prosjekter) vises. Dette vinduet brukes til å få detaljert informasjon om objekter. . Den lar deg søke og utforske elementer, deres egenskaper, metoder, hendelser i prosjekter og referanser til dem.

Verktøy utviklet for å lette applikasjonsutvikling inkluderer også et vindu. Verktøykasse, viser kontroller som brukes i VB-prosjekter .

For å opprette et nytt prosjekt, bruk dialogboksen
Lag et prosjekt(fig. 4.1.2-2). For å åpne den må du gjøre ett av følgende:

Utfør kommando Lag et prosjekt fra hovedmenyen - Fil;

trykk på knappen Lag et prosjekt, plassert på standardverktøylinjen.

Ris. 4.1.2-2. Dialogvindu Lag et prosjekt

I VB kan du lage applikasjoner etter ulike maler. I denne opplæringen vil vi kun bruke malen Windows Forms-applikasjon.

Denne applikasjonen er ment for å lage tradisjonelle Windows-applikasjoner, hvor brukergrensesnittet er designet med MS Windows Forms. Dessuten, for formen til denne malen, kan du angi visse egenskaper og plassere forskjellige kontroller på den.

La oss se på et eksempel på de grunnleggende trinnene som kreves for å lage et prosjekt. Windows Forms-applikasjon.

Eksempel 4.1.2-1. Lag et prosjekt kalt Eksempel 4.1.2-1 og et grafisk grensesnitt som består av et skjema med én knapp og ett tekstfelt. Når du trykker på knappen, skal "Hei, MTUSI!" vises.

Prosjektskjema Eksempel-4.1.2-1 kan se ut som på fig. 4.1.2-3.

Ris. 4.1.2-3. Prosjekt GUI (skjema)Eksempel 4.1.2-1

For å gjennomføre prosjektet Eksempel 4.1.2-1 følgende trinn kreves:

1) Start VS.

2) Opprett et nytt prosjekt:

Fil og utfør deretter kommandoen Lag et prosjekt;

Velg en prosjektmal Windows Forms-applikasjon .

Som et resultat vil et vindu åpnes Form1.vb [Konstruktør]Skjemakonstruktør(som angitt av den tilsvarende fanen) som lar deg implementere det grafiske grensesnittet til applikasjonen.

Velg et element i hovedmenyen Fil og utfør deretter kommandoen Lagre alt ;

dette vil åpne en dialogboks Lagre prosjektet;

Skriv inn i feltet Navn navnet på prosjektet Eksempel-4.1.2-1(som standard gir VB navnet WindowsApplication1) og skriv deretter inn Stedskatalognavn hvor prosjektet skal ligge, eller bruk knappen Oversikt for å søke etter ønsket katalog (fig. 4.1.2-4);

Klikk på knappen Lagre ;

som et resultat vil utviklingsmiljøet se ut som i fig. 4.1.2-5.

Ris. 4.1.2-5. Utviklingsmiljø

Visual Studio Panel Windows

Panelvindu startside(Fig. 4.1.1-1) lar deg se de sist brukte prosjektene, søke etter for eksempel programmer, både fra Hjelp og Internett, samt se lenker til nettsteder som inneholder nyheter om VS-produktet , dokumentasjon, opplæringsprogrammer.

Ris. 4.1.4-1. PanelvinduSkjemakonstruktør og kontekstmenyen

Startsiden åpnes automatisk når VS starter . Hvis vinduet startside ikke dukket opp, kan den kalles ved hjelp av kommandoen startside hovedmenyelement Utsikt.

Panelvindu Form1.vb[Konstruktør] (skjemakonstruktør)
Hovedvindu
er en Hovedarbeidsvinduet , der den visuelle utformingen av applikasjonen utføres (fig. 4.1.4-1). Dette vinduet kan vises på skjermen ved å klikke på fanen Form1.vb[konstruktør] eller ved å dobbeltklikke på navnet på skjemaet i vinduet Solution Explorer.

I vinduet Skjemakonstruktør alle former for applikasjonen lages visuelt ved hjelp av verktøysettet til utviklingsmiljøet. Du kan bruke et rutenett til å plassere objekter nøyaktig på et skjema i et vindu.

Størrelsen på skjemaet i vinduet kan endres ved hjelp av skjemavalghåndtakene og musen. For å endre størrelsen på skjemaet, plasser musepekeren over markøren og flytt den til ønsket størrelse når den blir en tohodet pil.

Å jobbe i et vindu Form1.vb[konstruktør] du kan bruke kontekstmenyen (fig. 4.1.4-1).

Ris. 4,1-2. PanelvinduKode editorog hennes og kontekstmenyen

Panelvindu Form1.vb (Koderedigerer) Er en kraftig tekstredigerer med mange muligheter, som er hovedprogrammererens verktøy for å lage og feilsøke programkode. Den kan også plasseres i Hoved arbeidsvindu(fig. 4.1-2) .

Panelvindu Solution Explorer og kontekstmenyen er vist i fig. 4.1.4-3.

Ris. 4.1.4-3. PanelvinduSolution Explorer og kontekstmenyen

Panel Kontrollelementer gruppert etter seksjoner
(Fig. 4.1.4-4). For å lage fordelsskjemaer trenger du hoveddelen Standard kontroller ( ris. 4.1.4-5).

Panelvindu Egenskaper er beregnet for å vise og angi egenskapene til prosjektobjekter, inkludert skjemaet og objektene plassert i det. Dette vinduet inneholder for eksempel egenskaper for det valgte objektet som posisjon i form, høyde, bredde, farge og andre (fig. 4.1.4-6).

For å åpne en dialogboks Egenskaper gjør ett av følgende:

I hovedmenyen Utsikt velge lag Egenskapsvindu;

Klikk på knappen Egenskaper-vinduet på standarden
verktøylinjer;

Velg et lag Egenskaper kontekstmeny for det valgte objektet;

Trykk på en tastaturtast .

Ris. 4.1.4-4. Verktøykasse-vindu 4.1.4-5. Panel

kontroller gruppert etter seksjon (Standardelementer)

Ris. 4.1.4-6. PanelvinduEgenskaper

Siden skjemaet og kontrollene hver for seg er objekter, endres egenskapssettet i dette vinduet avhengig av det valgte objektet. Ved hjelp av knappene I alfabetisk rekkefølge og
Etter kategori objektegenskaper kan sees alfabetisk eller etter gruppe (kategori), henholdsvis.

Et verktøytips vises nederst i vinduet som forklarer formålet med den valgte objektegenskapen. En mer detaljert forklaring finner du i hjelpesystemet. Du kan også bruke dynamisk hjelp ved å velge ønsket seksjon i vinduet Dynamisk hjelp.

Bruke en dialogboks Egenskaper, du kan endre standardegenskapene til objekter. Noen av egenskapene til et objekt, for eksempel størrelse og posisjon, kan angis ved å flytte objektet og endre størrelsen på det med musen i skjemadesigneren. Egenskapene som er angitt i vinduet Egenskaper kan endres under kjøring ved å skrive de riktige kodene i prosedyrer som du oppretter med koderedigeringsprogrammet.

Vanligvis inneholder et skjema mange objekter. Hvis du velger flere objekter samtidig, kan du i egenskapsvinduet se egenskapene som er felles for disse objektene.

4.1.5. Innstilling av parametrene til den integrerte
utviklingsmiljøer

Verktøyvinduene, hjelpesystemet, kompilatoralternativene til VS-utviklingsmiljøet er enkle og svært fleksible å tilpasse.

Følgende trinn viser deg hvordan du endrer innstillingene for VB-utviklingsmiljøet i henhold til retningslinjene for beste praksis:

1) I hovedmenyen Service utføre kommando Import og eksport av parametere... Du kan bruke veiviseren som vises til å lagre miljøinnstillingene for bruk på en annen datamaskin, laste inn innstillinger fra en annen datamaskin eller tilbakestille innstillingene - alternativet du vil velge nå.

2) Plukke ut Tilbakestill alle innstillinger og klikk deretter på knappen Lengre... VS vil spørre om det er nødvendig å lagre gjeldende innstillinger i en fil før konfigurering. Du bør alltid sikkerhetskopiere dine nåværende innstillinger slik at du kan gå tilbake til dem hvis de nye innstillingene viser seg å være "ubeleilige".

3) Sjekk at et alternativ er valgt Ja, og vær oppmerksom på navnet på filen og mappene der VS skal lagre disse innstillingene.

4) Hvis du trenger å gå tilbake til disse innstillingene, brukes den samme veiviseren og alternativet for å gjenopprette dem. Import valgte miljøinnstillinger.

5) For å se en liste over standardalternativer som brukes for VS, klikk på knappen Lengre.

6) Klikk på VB utviklingsmuligheter, og klikk deretter på knappen Klar.

7) Veiviseren vil bytte IDE-alternativer, inkludert menykommandoer, verktøylinjer og innstillinger for noen dialogbokser, vinduer Instrumenter og Kode editor.

8) Du kan gjenta denne konfigurasjonsprosessen når som helst du trenger å tilbakestille gjeldende innstillinger (for eksempel hvis du har gjort en feil i innstillingene), eller hvis du trenger å konfigurere VS til å bruke et annet programmeringsverktøy.

9) Klikk på knappen for å lukke veiviseren Lukk.

Hvis miljøparametrene for arbeid med VB er konfigurert, kan du utføre oppgaver. Men hvis de har blitt endret, må du følge disse trinnene for å bekrefte at innstillingene knyttet til prosjektene og VB-kompilatoren samsvarer med de som brukes i praksis. Følg disse trinnene for å sjekke prosjekt- og kompilatorinnstillingene:

1) Klikk på kommando Alternativer menyelement Service og åpne en dialogboks Alternativer.

2) Dialogvindu Alternativer Er vinduet som inneholder mange av VS-tilpasningsalternativene. For å se alle parameterne som kan endres, klikk på avkrysningsboksen Vis alle alternativer plassert i nedre venstre hjørne av dialogboksen.

3) I dialogboksen Alternativer klikk på kategorier Prosjekter og løsninger og deretter på seksjonen Generell. Denne gruppen av avmerkingsbokser og alternativer konfigurerer innstillingene for VS-prosjekter og -løsninger. For at programvaren skal samsvare med innstillingene som brukes i denne opplæringen, må du konfigurere og