Om Windows programmering Windows programmer har et mer anvendelig brukergrensesnitt enn konsollprogrammer. I et Windows program kan brukere velge på menyer og klikke på kontroller for å utføre handlinger. Et Windows program kan også bestå av flere vinduer. Mange klasser som benyttes til å lage Windows programmer finnes i namespace System::Windows::Forms Her fins klasser til å lage vinduer, kontroller, menyer osv. Den mest sentrale klassen i namespace System::Windows::Forms er Form class. Form class Form class er en stor klasse som benyttes til å lage vinduer i Windows programmer. Et objekt fra Form class kalles en form. En form representerer et vindu som benyttes i programmet ditt. En ny form kan knyttes til et prosjekt ved å velge på menyen i Visual Studio Project Add New Item I dialogboksen som kommer fram velg Visual C++ UI Windows Form Form class kan benyttes til å lage flere typer vinduer Standard vinduer Verktøybokser
Rammeløse vinduer Flytende vinduer (integrert i et vindu) Dialogbokser Form class kan også benyttes til å lage dialogbokser. Det skilles mellom to typer dialogbokser 1. Modal dialogboks 2. Modeless dialogboks En modal dialogboks må lukkes før programmet fortsetter. En modal dialogboks brukes oftest til å få et Ja/Nei fra brukeren. En modeless dialogboks kan stå åpen mens programmet kjører. Et verktøy er ofte en modeless dialogboks. Å utforme og gi egenskaper for et vindu (en form) gjøres i Properties. I Properties kan man bestemme utseende, størrelse, farge og mye mer. Properties-vinduet for en form kan hentes fram ved å venstre klikke på formen og velge Properties på popup-menyen. I hjelpesystemet er det mer informasjon om Form class. Om Form class i hjelpesystemet Om kontroller og komponenter På et vindu (en form) kan man legge kontroller. Det kan være trykknapper, tekstbokser, rullefelt, menyer, knapperader og mange flere kontroller. For å legge (knytte) kontroller til en form velg tabb med Toolbox (vertikal skrift) på høyre kant i Visual Studio. Denne tabben kan også iblant være på venstre kant. Det avhenger av oppsettet til Visual Studio. I Toolbox er det mange kontroller å velge mellom. Når du har funnet kontrollen du vil bruke klikk på den. Klikk deretter på formen. Et objekt med kontrollen vil da knyttes til formen. I namespace System::Windows::Forms er det mange klasser som benyttes til å lage Windows baserte programmer.
Her fins det klasser til å lage Trykknapper Tekstbokser og labeller Listebokser og combobokser Meny, knapperad, statusbar Paneler til å gruppere kontroller i Tooltips Hjelp Osv Meny, knapperad og statusbar brukes til kommunikasjon mellom bruker og program. Disse klassene heter i namespace System::Windows::Forms MenuStrip ToolStrip StatusStrip Mer informasjon om kontroller kan finnes i hjelpesystemet. Link til oversikt over alle klasser med kontroller Om Windows kontroller i hjelpesystemet Om ressurser i et Windows prosjekt I Windowsprogrammer benyttes ofte ressurser som bitmaps, icons og cursors. Dette er vanlige ressurser i Windowsprogrammer og Visual Studio har derfor en egen editor til å lage og editere slike ressurser. En ny ressurs kan lages i Visual Studio ved å velge på menyen
Project Add resource Ressursene i et prosjekt kan hentes fram i Visual Studio ved å velge på menyen View Resource View Plassering av ressursfiler Ressursfiler du føyer til et prosjekt skal ligge på filkatalogen til prosjektet. Det er katalogen som headerfiler (.h) og C++ filer (.cpp) i prosjektet ligger. Hvis prosjektet heter MittProgram og ligger på katalogen C:\Projects\ er katalogen ressursfiler skal legges på enten eller C:\Projects\MittProgram\ C:\Projects\MittProgram\MittProgram\ Sjekk hvilken av katalogene som.h og.cpp filer ligger. Eksempel på å lage en ressurs Program ikon i programeksempler under gir eksempel på å lage et ikon. Programeksempler Følgende programmer gir eksempler på å lage Windows programmer Program Hei vindu Program Hei knapp Program ikon Program figurer Viser hvordan lage et enkelt Windows program. Gir eksempel på å bruke en Pushbutton. Hvordan legge en Pushbutton på en form og gi den funksjonalitet. Gir eksempel på å lage et ikon. Viser hvordan lage en ressurs og hvordan føye ressursen til et prosjekt. Viser hvordan tegne geometriske figurer som linje, rektangel og ellipse. Eksempelet viser også bruk av farger og hvordan lage en meny.
Program dialogboks Program timer Program tastatur Program lyd Viser hvordan lage en dialogboks og hvordan bruke en listeboks. Gir eksempel på bruk av en timer og viser også hvordan lage en knapperad. Viser hvordan fange opp tegn og tastetrykk fra tastaturet. Viser hvordan lage lyder i et Windows program. Mer om å lage Windows programmer i hjelpesystemet Om namespace Windows::Forms i hjelpesystemet Mitt første Windows program Vi skal lage et enkelt Windows program med Visual Studio som skriver Hei vindu ut i et vindu (på en form). Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg på Start Page Create: Project Du får opp dialogboksen
Velg som i dialogboksen over Project type: Visual C++ og CLR Template: Windows Forms Application 3. Skriv navn på prosjektet Name: Hei vindu Og gi katalogen hvor prosjektet skal ligge Location: c:\projects // Du kan bruke en annen katalog. Forandre formen
Du har nå fått en form hvor det står Form1 på tittellinjen. 1. Endre tittel på formen fra Form1 til Mitt første program. Klikk på formen med venstre mustast. Du får nå fram properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede)
Text: Form1 Endre dette til Text: Mitt første program 2. Lage utskriften Hei vindu. På høyre kant av Visual Studio (eller venstre) er det en Tab hvor det står ToolBox (vertikal skrift). Toolbox kan også hentes på menyen: View Toolbox Klikk på ToolBox og velg A Label (under Common Controls øverst). Klikk deretter midt på formen. Du har nå lagt en Label på formen som heter label1. Klikk på label1 med venstre mustast. Du får nå fram Properties for label1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: label1 Endre dette til Text: Hei vindu
Teste ut programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Ekstra Vi ønsker å gjøre litt mer ut av programmet og gi det følgende utseende. 1. Større skrift Klikk på label1 med venstre mustast. Du får nå fram Properties for label1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (midt på) Font: Microsoft Sans Serif; 8.25 pt Endre dette til Font: Microsoft Sans Serif; 24 pt 2. Endre farge på skriften
I Properties vinduet til label1 er det et felt hvor det står (midt på) ForeColor: ControlText Endre dette til ForeColor: Navy Teste ut programmet Programmet er nå klart for kjøring. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Program Hei knapp Dette er et programeksempel som viser bruk av en knapp (pushbutton). Vi skal legge en knapp på en Form (i et vindu) og gi den funksjonalitet slik at den skriver Hei knapp i vinduet når vi trykker på den. Programmet skal få følgende utseende
Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg Create: Project 3. Du får opp en dialogboks. Velg Project types: Visual C++ og CLR Template: Windows Form Application 4. Skriv navn på prosjektet Name: Hei knapp 5. Gi katalog prosjektet skal ligge Location: c:\projects Endre formen
Du har nå fått en form som det står Form1 på. 1. Endre tittel på formen fra Form1 til Program button. Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: Form1 Endre dette til Text: Program button 2. Legge en knapp på formen. På høyre kant av Visual Studio (eller venstre) er det en Tab hvor det står ToolBox (vertikal skrift). Toolbox kan også hentes på menyen: View Toolbox Klikk på ToolBox og velg Button (nr. 2 under Common Controls øverst). Klikk deretter midt på formen. Du har nå lagt en knapp på formen som heter button1. Klikk på button1 med venstre mustast. Du får nå fram Properties for button1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (scroll helt nederst) Text: button1 Endre dette til Text: Trykk på meg 3. Legge en Label på formen På høyre kant av Visual Studio (eller venstre) er det en Tab hvor det står ToolBox (vertikal skrift). Toolbox kan også hentes på menyen: View Toolbox Klikk på ToolBox og velg A Label (Under Common Controls øverst). Klikk deretter på formen over knappen.
Du har nå lagt en Label på formen som heter label1. 4. Knytte en metode til knappen Dobbeltklikk på knappen med venstre mustast. Det blir nå laget en metode til knappen som legges i klassen til formen (Form1.h). Metoden heter button1_click(). 5. Legge kode i metoden til knappen Skriv følgende kode i metoden private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) { static int teller = 0; } this->label1->text = "Hei knapp " + ++teller; 6. For å komme tilbake til formen klikk på tabben over koden med Form1.h[Design] Teste ut programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Trykk på knappen og test funksjonaliteten. Program ikon Dette er et programeksempel som viser hvordan lage et ikon.
Eksempelet bygger på Program Hei vindu, men du kan gjerne gjøre eksempelet med et annet prosjekt. Brukergrensesnittet til programmet Følgende figur viser det endelige programmet med et gult ikon til venstre på tittellinjen. Hente inn et prosjekt i Visual Studio Hent Program Hei vindu inn i Visual Studio. Har du ikke Program Hei vindu på maskinen gjør dette eksempelet først eller bruk et annet prosjekt.
Lage et ikon På menyen til Visual Studio klikk Project Add New Item Velg i dialogboksen Visual C++ Resource Icon File (.ico) Gi navn Name: MittIkon Du har nå laget et nytt ikon. Det som vises er et standard ikon. Dette kan nå tegnes slik du vil ha det. På knapperaden er det noen verktøy som kan benyttes til å tegne ikonet. På menyen til Visual Studio er et valg: Image Menyvalget Image gir verktøyer til å arbeide med ikon. Ønsker du andre ikon enn de som vises velg på menyen i Visual Studio Image New Image Type Iblant må du lage flere versjoner av et ikon (forskjellige størrelser). Systemet vil bruke den størrelsen som passer best. Vi skal her lage et 16 16 ikon. Tegn ikonet slik du ønsker det skal se ut. Lagre det ved å velge på menyen File Save MittIkon.ico Resursfiler du føyer til et prosjekt skal ligge på filkatalogen til prosjektet. Det er katalogen som.h og.cpp filer ligger. I dette tilfellet er det katalogen C:\Projects\Hei Vindu\ Vise ikonet på tittellinjen
Skal nå ta i bruk ikonet på tittellinjen til formen (vinduet). Hent fram formen Form1 til programmet ved å klikke på tabben Form1.h[Design]. Hent fram Properties for Form1. Nederst i Properties er et felt Icon Klikk på feltet og du får fram en dialogboks hvor du kan hente inn ikonet fra prosjektet ditt. Filen MittIkon.ico ligger på C:\Projects\Hei Vindu\ Du har nå laget et ikon og endret ikon på tittellinjen til programmet. Teste ut programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Programmet skal nå vise ikonet vi har laget øverst til venstre på tittellinjen. Program figurer Dette er et eksempel som viser hvordan lage et program som tegner figurer på en form. Programmet gir eksempel på å tegne linje, rektangel og ellipse. Når vi skal tegne figurer bruker vi følgende namespace namespace System::Drawing Programmet viser bruk av følgende klasser i namespace System::Drawing Pen class SolidBrush class Graphics class Programmet viser bruk av følgende metoder i class Grapichs DrawLine()
DrawRectangle() FillRectangle() DrawEllipse() FillEllipse() Programmet viser hvordan bruke Color structure til få tak i farger ved Color::FromArgb(Int32, Int32, Int3) Color::FromKnownColor(KnownColor color) For å velge hvilken figur vi skal tegne skal vi bruke en meny. Eksempelet viser derfor også hvordan å lage en meny. Brukergrensesnittet til programmet Figuren under viser det ferdige programmet. Her har programmet tegnet et rektangel med kant og fyllfarge. Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg: Create Project
3. Du får opp en dialogboks. Velg Project type: Visual C++ og CLR Template: Windows Form Application 4. Skriv navn på prosjektet Name: Figurer 5. Gi katalog prosjektet skal ligge Location: c:\projects Forandre formen Du har nå fått en form som det står Form1 på. 1. Endre tittel på formen fra Form1 til Figurer. Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: Form1 Endre dette til Text: Figurer 2. Lage en meny. På høyre kant av Visual Studio (eller venstre) er det en Tab hvor det står ToolBox (vertikal skrift). Toolbox kan også hentes på menyen: View Toolbox Klikk på ToolBox og velg: MenuStrip (under Menus & Toolbars). Klikk deretter øverst på formen. Du har nå lagt en meny på formen som heter menustrip1.
3. Lage et felt på menyen. Klikk på menustrip1 med venstre mustast der det står Type Here. Skriv inn Tegne i tekstfeltet. 4. Legge inn et valg på menyen. Klikk på Tegne på menyen med venstre mustast. Klikk på Type Here under Tegne. Skriv inn Linje i tekstfeltet. 5. Legge inn et valg til på menyen. Klikk på Linje på menyen med venstre mustast. Klikk på Type Here under Linje. Skriv inn Rektangel i tekstfeltet. 6. Legge inn et valg til på menyen. Klikk på Rektangel på menyen med venstre mustast. Klikk på Type Here under Rektangel. Skriv inn Ellipse i tekstfeltet. Du skal nå ha en meny som ser ut som følgende Lage metoder for menyvalgene Når vi klikker på menyen ønsker vi at noe skal skje.
Vi skal lage metoder som utføres når vi velger på menyen. 1. Dobbeltklikk på Linje på menyen. Det blir nå knyttet en metode til dette menyvalget. Denne metoden heter linjetoolstripmenuitem_click() Denne metoden skal tegne en linje i vinduet. Innholdet i denne metoden skal vi skrive etterpå. 2. Klikk på tabben Form1.h[Design] (øverst) for å komme tilbake til formen. Dobbeltklikk på Rektangel på menyen. Det blir nå knyttet en metode til dette menyvalget. Denne metoden heter rektangeltoolstripmenuitem_click() Denne metoden skal tegne et rektangel i vinduet. Innholdet i denne metoden skal vi skrive etterpå. 3. Klikk på tabben Form1.h[Design] for å komme tilbake til formen. Dobbeltklikk på Ellipse på menyen. Det blir nå knyttet en metode til dette menyvalget. Denne metoden heter ellipsetoolstripmenuitem_click_click() Denne metoden skal tegne en ellipse i vinduet. Innholdet i denne metoden skal vi skrive etterpå. Skrive innholdet i metodene Følgende viser metodene med kode for funksjonalitet. private: System::Void linjetoolstripmenuitem_click( System::Object^ sender, System::EventArgs^ e) { // Sletter det som er i vinduet fra før this->refresh(); // Lager en farge ved å gi verdier for RGB (Rødt, Grønt, Blått) Color farge = Color::FromArgb(30, 30, 200); // Lager en penn til å tegne med
Pen^ penn = gcnew Pen(farge); penn->width = 3; // Bruker et objekt fra klassen Graphics til å tegne linjen Graphics^ g = this->creategraphics(); g->graphics::drawline(penn, 70, 70, 200, 200); } private: System::Void rektangeltoolstripmenuitem_click( System::Object^ sender, System::EventArgs^ e) { // Sletter det som er i vinduet fra før this->refresh(); // Lager en farge ved å bruke systemfarger Color farge = Color::FromKnownColor(KnownColor::WindowText); // Lager en penn for å tegne med Pen^ penn = gcnew Pen(farge); penn->width = 2; // Lager en brush med en blå fyllfarge til rektangelet Color fyllfarge = Color::FromKnownColor(KnownColor::LightBlue); SolidBrush^ brush = gcnew SolidBrush(fyllfarge); // Bruker et objekt fra klassen Graphics til // å tegne rektangelet Graphics^ g = this->creategraphics();
g->graphics::fillrectangle(brush, 70, 70, 150, 150); g->graphics::drawrectangle(penn, 70, 70, 150, 150); } private: System::Void ellipsetoolstripmenuitem_click( System::Object^ sender, System::EventArgs^ e) { // Sletter det som er i vinduet fra før this->refresh(); // Lager en farge ved å bruke systemfarger Color farge = Color::FromKnownColor(KnownColor::WindowText); // Lager en penn for å tegne med Pen^ penn = gcnew Pen(farge); penn->width = 2; // Lager en brush med en gul fyllfarge til ellipsen Color fyllfarge = Color::FromKnownColor(KnownColor::LightYellow); SolidBrush^ brush = gcnew SolidBrush(fyllfarge); // Bruker et objekt fra klassen Graphics til å tegne ellipsen Graphics^ g = this->creategraphics(); g->graphics::fillellipse(brush, 50, 70, 200, 150); g->graphics::drawellipse(penn, 50, 70, 200, 150); // Systemet trekker ellipsen som ligger i // rektangelet gitt ved 50, 70, 200, 150
} Kompilere og kjøre programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Velg på menyen og tegn noen figurer. Program dialogboks Dette er et programeksempel som viser følgende Lage og bruke en dialogboks Lage og bruke en listeboks Vi skal lage et program som bruker en dialogboks for å lese inn navnet til en kunde. Navnet på kunden skal så legges og oppbevares i en listeboks. Brukergrensesnittet til programmet Følgende figur viser programmet med listeboksen.
Brukergrensesnittet til dialogboksen Følgende figur viser dialogboksen som benyttes til å lese inn et kundenavn. Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg Create: Project
3. Du får opp en dialogboks Velg Project type: Visual C++ og CLR Template: Windows Form Application 4. Skriv navn på prosjektet Name: Dialogboks 5. Gi katalog prosjektet skal ligge Location: c:\projects Forandre formen Du har nå fått en form som det står Form1 på. 1. Endre tittel på formen fra Form1 til Program kunder. Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: Form1 Endre dette til Text: Program kunder 2. Legge en listeboks på formen Kunder som leses inn i dialogboksen skal oppbevares i en listeboks. Til høyre for Properties vinduet er det en Tab hvor det står ToolBox (vertikal skrift). Klikk på ToolBox og velg ListBox (under Common Controls). Klikk deretter midt på formen. Du har nå lagt en listeboks på formen som heter listbox1.
3. Legge en knapp på formen. Til høyre for Properties vinduet er det en Tab hvor det står ToolBox (vertikal skrift). Klikk på ToolBox og velg Button (nr. 2 under Common Controls øverst). Klikk deretter på formen under listeboksen. Du har nå lagt en knapp på formen som heter button1. Klikk på button1 med venstre mustast. Du får nå fram Properties for button1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (skroll helt nederst) Text: button1 Endre dette til Text: Ny kunde 4. Knytte en metode til knappen. Dobbeltklikk på knappen for å knytte en metode til den. Du har nå laget metoden button1_click() 5. Ved oppstart ønsker vi at vinduet skal plasseres midt på skjermen. Gå tilbake til formen ved å trykke på tabben Form1.h[Design]* Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (under Layout) StartPosition: WindowsDefaultLocation Endre dette til StartPosition: CenterScreen Føye til en dialogboks til prosjektet Vi skal lage en ny form og gjøre denne om til en dialogboks. For å føye en form til prosjektet gå på menyen i Visual Studio og velg
Project Add class Windows Form Name: Nykunde Du har nå fått en ny form i prosjektet som heter Nykunde. Klikk på formen Nykunde med venstre mustast. Du får nå fram Properties for Nykunde i vinduet til høyre i Visual Studio. For å gjøre formen til en dialogboks skal vi endre Properties for formen Nykunde. Vi skal endre MaximizeBox, MinimizeBox, ControlBox, FormBorderStyle, StartPosition og Text. Gi disse properties følgende verdier MaximizeBox: False MinimizeBox: False ControlBox: False FormBorderStyle: FixedDialog StartPosition: CenterParent Text: Gi en ny kunde Lage utseendet til dialogboksen Hent fram formen Nykunde ved å trykke på tabben med Nykunde.h[Design] 1. Legge en knapp på formen Nykunde. Til høyre for Properties vinduet er det en Tab hvor det står ToolBox (vertikal skrift). Klikk på ToolBox og velg Button. Klikk deretter midt på formen. Du har nå lagt en knapp på formen som heter button1. Klikk på button1 med venstre mustast. Du får nå fram Properties for button1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (under Appearance) Text: button1 Endre dette til Text: OK Vi ønsker at knappen skal registreres som OK knapp av systemet. I Properties vinduet er det et felt hvor det står (under Appearance) DialogResult: None
Endre dette til DialogResult: OK 2. Legge en knapp til på formen. Klikk på ToolBox og velg Button. Klikk deretter midt på formen. Du har nå lagt en knapp på formen som heter button2. Klikk på button2 med venstre mustast. Du får nå fram Properties for button2 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (scroll helt nederst) Text: button2 Endre dette til Text: Cancel Vi ønsker at knappen skal registreres som Cancel knapp av systemet. I Properties vinduet er det et felt hvor det står (under Appearance) DialogResult: None Endre dette til DialogResult: Cancel 3. Legge en Label på formen. Klikk på ToolBox og velg Label. Klikk deretter midt på formen. Du har nå lagt en knapp på formen som heter label1. Klikk på label1 med venstre mustast. Du får nå fram Properties for label1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står Text: label1 Endre dette til Text: Kundenavn: 4. Legge en tekstboks på formen.
Klikk på ToolBox og velg TextBox. Klikk deretter på formen til høyre for label1. Du har nå lagt en tekstboks på formen som heter textbox1. Kode for å bruke dialogboksen i programmet For at vi skal kunne bruke dialogboksen i programmet må filen den ligger på inkluderes på filen Form1.h. Legg følgende include øverst på filen Form1.h (under #pragma once) #include "Nykunde.h" Dialogboksen skal åpnes når vi trykker på knappen. Legg derfor følgende kode i metoden til knappen på Form1. private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) { Nykunde^ dlg = gcnew Nykunde(); if (dlg->showdialog() == ::DialogResult::OK ) { this->listbox1->items->add(dlg->textbox1->text); } } I koden bruker vi dlg->textbox1->text. Dette går ikke hvis textbox1 er deklarert som private. Endre derfor deklarasjonen til textbox1 til public (øverst i class Nykunde).
Teste ut programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Trykk på knappen. Program timer Dette er et programeksempel som viser bruk av en timer på en form. Programmet viser også hvordan lage en knapperad. Ferdig vil programmet ha følgende brukergrensesnitt. Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg Create: Project 3. Du får opp en dialogboks. Velg
Project type: Visual C++ og CLR Template: Windows Form Application 4. Skriv navn på prosjektet Name: TimerGUI 5. Gi katalog prosjektet skal ligge Location: c:\projects Forandre formen Du har nå fått en form som det står Form1 på tittellinjen. 1. Endre tittel på formen fra Form1 til Timer eksempel. Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: Form1 Endre dette til Text: Timer eksempel 2. Lage en knapperad. Klikk på ToolBox og velg: ToolStrip (Under Menus & Toolbars). Klikk deretter øverst på formen. Du har nå lagt en knapperad på formen som heter toolstrip1. 3. Lage en knapp på knapperaden. Klikk på toolstrip1 med venstre mustast øverst til venstre. Det blir nå et ikon på knapperaden. Vi skal ha en tekst på knappen og ikke et ikon. I Properties er et felt som heter Displaystyle (under Appearance). Displaystyle: Image
Endre til Displaystyle: Text I Properties er et felt som heter Text (under Appearance). Text: toolstripbutton1 Endre til Text: Start timer 4. Lage en knapp til på knapperaden. Klikk på toolstrip1 ved siden av knappen med teksten Start timer. Det blir nå et ikon til på knapperaden. Vi skal ha en tekst på knappen og ikke et ikon. I Properties er et felt som heter Displaystyle (under Appearance). Endre til Displaystyle: Image Displaystyle: Text I Properties er et felt som heter Text (under Appearance). Endre til Text: toolstripbutton2 Text: Stopp timer 5. Lage timeren Klikk på ToolBox og velg: Timer (nederst under Components). Klikk deretter midt på formen. Du har nå knyttet en timer til formen som heter timer1. 6. Legge en Label på formen For å skrive meldinger i vinduet bruker vi en Label. Klikk på ToolBox og velg: Label (under Common Controls). Du har nå fått en Label på formen som heter label1. Klikk på label1 for å få fram Properties. I Properties er et felt som heter Text (under Appearance).
Text: label1 Endre til Text: Start timeren på knapperaden Initialisere timeren Klikk på timer1 objektet under formen for å hente Properties for timeren. Vi skal nå gi et intervall for timeren. I Properties er et felt Interval 100 Endre til Interval 3000 I Properties er et felt Enabled False Endre til Enabled True Lage metoder for knappene Når vi klikker på knappene på knapperaden ønsker vi at noe skal skje. Vi skal lage metoder som utføres når vi velger på knapperaden. 1. Dobbeltklikk på Start timer på menyen. Det blir nå knyttet en metode til denne knappen. Denne metoden heter toolstripbutton1_click() Denne metoden skal starte timeren. Innholdet i denne metoden skal vi skrive etterpå. 2. Dobbeltklikk på Stopp timer på menyen. Det blir nå knyttet en metode til denne knappen. Denne metoden heter toolstripbutton2_click() Denne metoden skal stoppe timeren. Innholdet i denne metoden skal vi skrive etterpå.
Lage en metode for timeren Skal nå lage en metode for timeren. Dobbeltklikk på timer1 under formen. Det blir nå knyttet en metode til timeren. Denne metoden heter timer1_tick () Skrive innholdet i metodene Legg følgende kode i metodene. private: System::Void toolstripbutton1_click(system::object^ sender, System::EventArgs^ e) { } this->timer1->start(); private: System::Void toolstripbutton2_click(system::object^ sender, System::EventArgs^ e) { } this->timer1->stop(); private: System::Void timer1_tick(system::object^ sender, System::EventArgs^ e) { } this->label1->text = DateTime::Now.ToString("h:mm:ss tt"); Kompilere og kjøre programmet
Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Klikk på knapperaden for å starte timeren. Program tastatur Dette er et programeksempel som viser hvordan vi kan fange opp tegn og tastetrykk fra tastaturet i et Windows program. Vanligvis behøver vi ikke fange opp tegn fra tastaturet selv fordi vi bruker en TextBox til å arbeide med tekst, men programmer har ofte bruk for å få tak i tastetrykk som Escape, F1, Delete, osv. Windows er Eventdriven og tastetrykk er hendelser som fanges opp av operativsystemet. Dette eksempelet illustrerer hvordan lage og bruke metoder som mottar hendelser fra operativsystemet. Ferdig vil programmet få følgende brukergrensesnitt. Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio
2. Velg Create: Project 3. Du får opp en dialogboks. Velg Project types: Visual C++ og CLR Templates: Windows Form Application 4. Skriv navn på prosjektet Name: tastatur 5. Gi katalog prosjektet skal ligge Location: c:\projects Forandre formen Du har nå fått en form som det står Form1 på. 1. Endre tittel på formen fra Form1 til Program tastatur. Klikk på formen med venstre mustast. Du får nå fram Properties for Form1 i Properties vinduet til høyre i Visual Studio. I Properties vinduet er det et felt hvor det står (langt nede) Text: Form1 Endre dette til Text: Program tastatur 2. Legge en Label på formen Vi skal bruke en labell til å skrive ut tegn og meldinger i vinduet. Klikk på ToolBox og velg A Label (Under Common Controls øverst). Klikk deretter på formen over knappen. Du har nå lagt en Label på formen som heter label1.
I Properties vinduet til label1 er det et felt hvor det står (langt nede) Text: label1 Endre dette til Text: Trykk på tastaturet 3. Lage metoder som fanger opp tegn fra tastaturet. Klikk på formen for å hente fram Properties for Form2. Øverst på Properties er det et ikon som ser ut som et gult lyn (Events). Klikk på Events for å se hvilke metoder som kan knyttes til formen. Under Key er det et felt med KeyDown (langt nede). Dobbeltklikk på KeyDown og du får en metode som heter Form1_KeyDown() Gå til bake til formen ved å trykke på tabben Form1.h[Design] Under Key i Properties er det et felt med KeyPress. Dobbeltklikk på KeyPress og du får en metode som heter Form1_KeyPress() KeyPress fanger opp ascii tegn fra tastaturet. KeyDown fanger opp andre tastetrykk som F1 tasten, Esc, Insert osv. 4. Legge kode i metodene private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { } this->label1->text = "KeyDown: " + e->keychar; private: System::Void Form1_KeyDown(System::Object^ sender,
System::Windows::Forms::KeyEventArgs^ e) { switch (e->keyvalue) { case Keys::Left: this->label1->text = "KeyPress: Pil venstre = " + break; e->keyvalue; case Keys::Delete: this->label1->text = "KeyPress: Delete = " + break; e->keyvalue; case Keys::F3: this->label1->text = "KeyPress: F3 = " + break; e->keyvalue; default: } this->label1->text = "KeyPress: " + e->keyvalue; }
Teste ut programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Trykk på noen tegn og taster på tastaturet. Program lyd Dette er et programeksempel som viser hvordan lage lyder i et program. Lage et nytt prosjekt i Visual Studio 1. Start Visual Studio 2. Velg: Create: Project 3. Du får opp en dialogboks Velg Project type: Visual C++ og CLR Template: Windows Form Application 4. Skriv navn på prosjektet Name: Lyd 5. Gi katalog prosjektet skal ligge Location: c:\projects Forandre formen
Gi formen følgende utseende Plassering av lydfiler I programmet skal vi benytte tre lydfiler som tilhører Windows. tada.wav Windows Ringin.wav Windows Error.wav Filer du føyer til et prosjekt skal ligge på filkatalogen til prosjektet. Det er katalogen som resursfiler,.h og.cpp filer ligger. Gå til følgende katalog i Windows C:\WINDOWS\Media\ og kopier filene over til katalogen C:\projects\Lyd\Lyd\ Filer som ligger på filkatalogen til prosjektet kan man referere til i koden med bare navnet til filen uten å behøve angi noen sti til katalogen. Metodene i programmet Knytt metoder til knappene ved å dobbeltklikke på dem. Legg så følgende kode i metodene.
private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) { System::Media::SoundPlayer^ player = gcnew System::Media::SoundPlayer(); player->soundlocation = "tada.wav"; } player->load(); player->play(); private: System::Void button2_click(system::object^ sender, System::EventArgs^ e) { System::Media::SoundPlayer^ player = gcnew System::Media::SoundPlayer(); player->soundlocation = "Windows Ringin.wav"; } player->load(); player->play(); private: System::Void button3_click(system::object^ sender, System::EventArgs^ e) { System::Media::SoundPlayer^ player = gcnew System::Media::SoundPlayer(); player->soundlocation = "Windows Error.wav";
player->load(); player->play(); } Kompilere og kjøre programmet Programmet er nå klart for uttesting. Trykk Ctrl + F5 for å kompilere og kjøre programmet. Klikk på knappene for å høre lyden.