VISUAL BASIC ALAPISMERETEK



Hasonló dokumentumok
. Typeset by AMS -TEX 0

Tipp A Word makrók kimerítõ tárgyalását megtalálhatjuk az O Reilly gondozásában megjelent Writing Word Macros címû könyvben.

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Vezérlő Sub adatbazis_click () On Error GoTo hiba: dde = Shell(CurDir$ + "\adatbaz.exe", 1) On Error GoTo 0 GoTo tovabb:

Az animáció elve. Animáció. Képkockára ugrás. Képkockák és kockaszám. Megtekintés. Id szalag

VBA. Visual Basic for Applications

Máté: Számítógépes grafika alapjai

munkafüzet open eseményéhez

Készítette:

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Access adatbázis elérése OLE DB-n keresztül

Vizuális, eseményvezérelt programozás I.

Rajzolás PowerPoint 2007 programban

Vektorgrafikus rajzeszközök

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

3. Gyakorlat Ismerkedés a Java nyelvvel

JAVA PROGRAMOZÁS 3.ELŐADÁS

Számítógépes grafika

14.2. OpenGL 3D: Mozgás a modellben

Tuplet Tool Hangjegycsoport eszköz

Mi az a Scribus? SCRIBUS. Mi az a Scribus? Milyen platformon érhet el? Hasonló feladatra használható programok. Mire használhatjuk a Scribust?

INFORMATIKAI ALAPISMERETEK

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Számítástechnika labor feladatok a 2012/2013. tanév őszi félévében

Kézikönyv. SOFiSTiK SOFiCAD-B (Vasalásszerkesztő modul) 16.5 és 17.1 verzió

Digitális terepmodell modul

QGIS tanfolyam (ver.2.0)

USB HID 1. Bevezetés. 2. A Hardver

117. AA Megoldó Alfréd AA 117.

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

13. A Paint rajzolóprogram

INFORMATIKAI ALAPISMERETEK

11. Balra zárt igazítás A bekezdés sorai a bal oldali margóhoz igazodnak. 12. Beillesztés

Újdonságok az ArchiTECH.PC V es verziójában

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

BME MOGI Gépészeti informatika 14.

V074-HU2-01 NS-DESIGNER (NS-TERMINÁL PROGRAMOZÓ SZOFTVER) RÖVID FELHASZNÁLÓI ÚTMUTATÓ OMRON

Ködös határ (Félreértés, hiba)

II. év. Adatbázisok és számítógépek programozása

GFI termékkézikönyv. Ügyfélprogram kézikönyv

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás

Számítógépes grafika

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

FELHASZNÁLÓI KÉZIKÖNYV

Programozás 2., II. kötet Windows form alkalmazások

Kétdimenziós rajzolás WPF-ben

Tartalomjegyzék. Bevezetés...2

Vizuális programozás gyakorlat

A HunPLUS-os AutoCAD Architecture 2010 teljesítményfokozása

A Adobe Flash CS4 grafikus felülete

ArcGIS 8.3 segédlet 6. Dr. Iványi Péter

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

LOGO grafikák: - Bevezetés - Válogatás a szakkörösök legszebb munkáiból

3. gyakorlat. 1/7. oldal file: T:\Gyak-ArchiCAD19\EpInf3_gyak_19_doc\Gyak3_Ar.doc Utolsó módosítás: :57:26

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I.

Sintony SAK 41. Kezelési utasíitás 8AA D0-20/10/99 - UK -

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

szló Nógrádi László

2. GYAKORLAT THONET-ASZTAL

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

A Paint program használata

PTE PMMK ÁBRÁZOLÓ GEOMETRIA 1. hét. 1. heti gyakorlat. Készítette: Schmidtné Szondi Györgyi 1/1

INFORMATIKAI ALAPISMERETEK

Entity Framework alapú adatbáziselérés

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

Rajzoljunk a Flash programmal! FLASH ALAPOK I.

Animációk, effektusok

LÉTESÍTMÉNYGAZDÁLKODÁS. Változáskezelés. Változás Pont Cím Oldal A teljes dokumentáció átírásra került

Adattípusok. Max. 2GByte

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Adattípusok. Max. 2GByte

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Objektumorientált programozás C# nyelven

OPTEN Online használati útmutató

4. Gyakorlat ellenőrzött osztályozás

Tudáspróba Informatika felmérő feladatok

Programozás Delphiben

SEGÉDLET ADATKEZELÉS MS EXCEL-BEN. Tároljuk az adatokat Excel munkalapon. Megjegyzés: A feladatokat MS Office Excel ban oldottuk meg.

PÉLDATÁR BEGYAKORLÓ FELADAT TÉRBELI FELADAT MEGOLDÁSA VÉGESELEM- MÓDSZERREL

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

PÉLDATÁR BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL

1. fejezet Microsoft Excel 2010 Tartománynevek... 3

Informatika. Középszintű érettségi vizsga témakörök. 1. Információs társadalom. 2. Informatikai alapismeretek hardver

Szentgotthárd Városi Televízió és Kábelüzemeltető Nonprofit Kft. TULAJDONOS

Winvezinfo. Felhasználói leírás

Mérési adatgyűjtés és adatfeldolgozás 2. előadás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Tanulási segédlet 4. osztály

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Tartalomjegyzék TARTALOMJEGYZÉK BEVEZETÉS... 5

Átírás:

11. Grafika VISUAL BASIC ALAPISMERETEK 11. Gyakorlat témaköre: Kiválasztógomb (Option Button) és a jelölőnégyzet (CheckBox) használata Kör, ellipszis (Circle) rajzolása. Circle (X, Y), Sugár, QBColor(Szín), kezdőszög, végszög, osztásarány Az (X,Y) a kör középpontjának koordinátája. A Sugár a kör sugara. A szögeket radiánban kell megadni. Az alapértelmezés szerint a kezdőszög 0, végszög 2*pi. Határ mindkét szögre: -2*pi és 2*pi radián. Az osztásarány alapértelmezése: 1 Ellipszis rajzolása. Például legyen az osztásarány: 1 / 2. Circle (X, Y), Sugár, QBColor(Szín),,, 1 / 2 Vonal rajzolása. A két koordinátapont között egyenes vonalat rajzol. Line (X1, Y1)-(X2, Y2), QBColor(Szín) Doboz rajzolása: négyzet, téglalap. Line (X1, Y1)-(X2, Y2), QBColor(Szín), BF Az (X1,Y1) a doboz bal felső, (X2,Y2) a jobb alsó sarkának koordinátái. B esetén a négyzet vagy téglalap kerete, BF esetén a beállított FillColor (kifestő színnel) és FillStyle (kifestő stílussal) kifestett négyzet vagy téglalap jelenik meg. Előregyártott alakzatok (Shape) rajzolása. Képek (PictureBox) megjelenítése. Képek (Image) megjelenítése animáció céljából, időzítő (Timer) használata. CommonDialog vezérlő használata. 1. Feladat: Rajzoljunk választhatóan kör, téglalap, ellipszis alakzatokat! Legyen lehetőség a rajz törlésre is. (GYAK11_1) A program futási képe: A Form1 eseménykezelő eljárásai: ' Alapállapot beállítása Private Sub Form_Load() Torles.Value = True ' A törlés választógomb kijelölése Left = 1440 Top = 1005 ' Ellipszis rajzolása zöld színnel Private Sub Ellipszis_Click() Circle (700, 2300), 600, QBColor(10),,, 1 / 2 ' Kör rajzolása piros színnel Private Sub Kor_Click() Circle (500, 500), 200, QBColor(12) ' Kék színnel befestett téglalap rajzolása Private Sub Teglalap_Click() Line (500, 1000)-(1200, 1600), QBColor(9), BF 1

' Törli a form ablakát Refresh metódus hívásával Private Sub Torles_Click() Refresh 2. Feladat: Rajzoljunk alakzatokat a Shape vezérlő segítségével! (GYAK11_2) A program futási képe: Minta a téglalap és a négyzet rajzolására: ' Téglalap rajzolása Private Sub Option1_Click() Shape1. Shape = 0 ' Négyzet rajzolása Private Sub Option2_Click() Shape1.Shape = 1 Shape vezérlő Shape tulajdonságába a jelölőgombon való kattintáskor beírt 0,1,2,3,4 illetve 5 konstansokkal jeleníthetjük meg az alakzatokat. 3. Feladat: Jelenítsünk meg egy bitképet a PictureBox vezérlő segítségével! (GYAK11_3) A program futási képe: PictureBox vezérlő Picture tulajdonsága alkalmas a bitkép megjelenítésére. A bitkép megjelenítéséhez deklarálnunk kell egy Picture típusú változót: Dim kep As Picture A Set utasítással a kep változóba a bitképet a LoadPicture metódussal töltjük be. A LoadPicture metódus paraméterében adjuk meg a kép könyvtárának útvonalát az App.Path tulajdonsággal (App az alkalmazás objektuma), majd hozzáadjuk a \ jelet és a bitkép állománynevét. A képet a Picture1 objektum Picture tulajdonságával jeleníthetjük meg. Private Sub Megjelenit_Click() Set kep = LoadPicture(App.Path + "\bitkep2.bmp") Set Picture1.Picture = kep 4. Feladat: Jelenítsünk meg bitképet a PictureBox vezérlő segítségével, de a bitkép állománynevét párbeszédablakból lehessen kiválasztani! (GYAK11_4) A CommonDialog vezérlő betöltéséhez válasszuk ki a Project/Components menüpontot, a megjelenő párbeszédablakban pedig jelöljük be az alábbi jelölőnégyzetet: Az OK gomb megnyomásával a vezérlő betöltődik. 2

Helyezzük a formra a CommonDialog vezérlőt. A program futási képei: A Form1 eseménykezelő eljárása: Dim kep As Picture A Kép megjelenítése parancsgomb eseménykezelő eljárása. Private Sub Megjelenit_Click() Dim InpNev As String CommonDialog1.Filter = "kep (*.bmp) *.bmp" CommonDialog1.InitDir = App.Path CommonDialog1.ShowOpen InpNev = CommonDialog1.FileName Set kep = LoadPicture(InpNev) Set Picture1.Picture = kep 5. Feladat: Készítsünk programot, amely két bitképet mozgat animáció céljából az Image vezérlő felhasználásával! Az animáció időzítését a Timer vezérlő kezelje! (GYAK11_5) A formra két Image és egy Timer vezérlőt helyezünk el. A két bitképet a tervezési fázisban kell betölteni. Kiválasztjuk az Image1 objektumot, majd a Picture tulajdonság gombján kattintva a megjelenő párbeszédablakból betölthetjük a kívánt képet, ugyanígy töltjük az Image2 objektumot is. Ha nem sikerülne az objektumot az egérrel kiválasztani, akkor a (Properties) tulajdonság ablak objektum listájából válasszuk ki. A Form_Load eseménykezelő eljárásban a második kép bal felső sarkát az első kép bal felső sarokpontjára állítjuk, hogy a két kép egy helyen jelenjen meg. A program indulásakor az első képet látjuk, a második képet eltüntetjük a Visible tulajdonságának False értékre állításával. 3

Private Sub Form_Load() Image2.Left = Image1.Left Image2.Top = Image1.Top Image1.Visible = True ' a kép látható Image2.Visible = False ' a kép láthatatlan A Timer objektum Interval tulajdonságát 500 ms-ra állítjuk, ennek következtében a Timer1_Timer eseménykezelő eljárás az Interval tulajdonságban beállított idő elteltével hívódik meg mindaddig, míg a programot le nem állítjuk. A képek 500 msec-onként felváltva jelennek meg, vagyis két képből álló animációt hoztunk létre. Private Sub Timer1_Timer() Image1.Visible = Not Image1.Visible Image2.Visible = Not Image2.Visible A program két futási képe: 6. Feladat: Tervezzünk menüvezérelt programot, amelynek menüpontjai téglalapot, kört rajzolnak az ablakba, valamint törlik az ablakot! (GYAK11_6) A program futási képei: Alakzatokat a formra rajzoljuk! Téglalap rajzolása: Line (500, 1000)-(1200, 1600), QBColor(9), BF Kör rajzolása: Circle (1500, 500), 500, QBColor(12) 7. Feladat: Tervezzünk felbukkanó menüvel (popup) vezérelt programot, amely téglalapot, kört rajzol és törli az ablakot! (GYAK11_7) A program egy futási képe: 4

Emlékeztető: Az egér gombjának a felemelésekor megszólaló Form_MouseUp eseménykezelő eljárást úgy hozzuk létre, hogy a programkód felett lévő Object legördülő menüből kiválasztjuk a Form objektumot, és a Procedure ablakból pedig a MouseUp eseményt. Ennek az eljárásnak egyetlen If utasítása lesz, amely megvizsgálja, hogy mikor egyenlő a Button paraméter 2-vel, mert ez éppen az egér jobb gombjának felemelését jelenti, és ekkor hívódik meg a PopupMenu metódus a titkosított menü nevével és az egér X,Y koordinátájával. A két vessző a Menu után a Shift paraméter figyelmen kívül hagyását jelenti, tehát nem kezeli a Shift billentyűvel lenyomott egér gombot. Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu Menu,, X, Y A GYAK11_6 feladatban megadott alakzatokat rajzoljuk. 8. Feladat: Készítsünk több formos menüvezérelt programot, amellyel kiválaszthatjuk a rajzolás színét, a rajzolni kívánt alakzatot, majd a kiválasztott alakzatot megrajzoljuk! (GYAK11_8) Használjunk Modult az alakzat és a szín kiválasztásához szükséges változók globális deklarálására. Public alak As Integer, Szine As Integer A Form1 tartalmazza a főmenüt A Form1 eseménykezelő eljárásai: ' Beállítjuk a változók alapállapotát Private Sub Form_Load() Left = 1440 Top = 1005 alak = 0 Szine = 1 ' Megjelenítjük a szin választó ablakot Private Sub Szin_Click() Form2.Show vbmodal ' Megjelenítjük az alakzat választó ablakot Private Sub Alakzat_Click() Form3.Show vbmodal ' Megjelenítjük a rajzolás ablakát Private Sub Rajzol_Click() Form4.Show vbmodal ' A program futását leállítjuk Private Sub Kilepes_Click() End A projekthez újabb formot a Project menü Add Form menüpontjának kiválasztásával adhatunk. A form megjelenítése a Show metódussal történik: Form2.Show vbmodal A vbmodal paraméter azt jelenti, hogy míg a formot nem zártuk le, másik formot nem jeleníthetünk meg. A form ablak bezárása, eltüntetése Hide metódussal történik. 5

A Form2 teszi lehetővé a szín kiválasztását: A választógombok a Színe változót állítják be a szín értékének megfelelően: Private Sub Kék_Click() Szine = 1 Private Sub Piros_Click() Szine = 4 Private Sub Zöld_Click() Szine = 2 Private Sub Bezár_Click() Hide A Form3 esetén az alakzat típusát választhatjuk ki: A jelölőnégyzet bejelölt állapota a Kört, jelöletlen állapota a Téglalap alakzatot választja ki: Private Sub Check1_Click() If Check1.Value = vbchecked Then alak = 1 ' kör választása Else alak = 2 ' téglalap választása A Form4 Rajzolás parancsgombjának megnyomásakor a korábban a kiválasztott alakzatot a kiválasztott színnel megrajzolja: Private Sub Rajzolás_Click() If alak = 1 Then Circle (1000, 600), 500, QBColor(Szine) Else Line (1200, 1200)-(1800, 1900), QBColor(Szine), BF Private Sub Bezár_Click() Hide 9. Feladat: Tervezzünk programot az ablak háttérszínének megadására! Használjunk hibakezelést. A szövegablak csak két karaktert fogadhat! (GYAK11_9) A Form_Load eseménykezelő eljárásban a szövegablak MaxLength tulajdonságát állítsuk 2-re, hogy csak két karakter hosszú adatot tudjon fogadni: Text1.MaxLength= 2 Fejezzük be a feladatot a hibajelzés kezelésével! Private Sub Text1_Change() On Error GoTo Hiba If Text1.Text <> "" Then szin = CInt(Text1.Text) If szin >= 0 And szin <= 15 Then BackColor = QBColor(szin) Else MsgBox "Hibás adat", vbexclamation, "Hibajelzés" Exit Sub... 6