14-расм. Яратилувчи авлод ойнаси
Авлод ойнаси авлод =олдирувчи ойна таркибида яратилиб, уни асосий ойна ичида характлантириш мумкин.
Авлод ойнасининг асосий ойнада жойлашиш турини Arrange услуби ёрдамида ызгартириш мумкин, у =уйидаги жадвалда келтирилган:
Ходиса
|
Кий-мати
| Вазифаси |
vbCascade
|
0
|
К аскадли жойлашиш. Янги яратилган ойна аввалги ойнага нисбатан ынгро= ва пасро=да хосил былади.
|
vbTileVertical
|
1
|
А сосий ойнадаги барча ойналар вертикал холатда жойлашади ва уларнинг хажми бир хил былади.
|
cbTileHorizontal
|
2
|
А сосий ойнадаги барча ойналар вертикал холатда жойлашади ва уларнинг хажми бир хил былади.
|
vbArrangeIcon
|
3
|
Б арча авлод ойналари асосий ойнанинг =уйи =исмига кичик кыринишда жойлашади.
|
Биз ю=орида асосий ва авлод ойналарининг хусусият, ходиса ва турлари билан танишиб чи=дик. Энди эса уларни яратиш дастурини кыриб чи=амиз. +уйидаги амаллар кетма-кетлигини бажаринг:
Янги проект яратинг. Бунинг учун File менюсида New Project (Проект яратиш) буйру\и сиртида сич=ончанинг чап тугмасини икки марта босинг ва хосил былган ойнадан Standart EXE белгисини танлаб Enter тугмасини босинг
Project менюсидан Project Properties буйру\ини танланг
Хосил былган ойнада жойлашган Project Name майдонига MyMDIApp сызини киритинг ва ОК тугмасини босинг
Properties ойнасидан MDIChild хусусиятини топамиз ва унга True =ийматини берамиз
Форманинг Name хусусиятига frmChildMDI номини берамиз
Caption хусусиятига эса «MDI нинг авлод ойнаси» деган сарлавха киритамиз
Проектга MDI формани =ышиши учун Project менюсидан Add MDI Form буйру\ини танлаймиз
Унинг Name хусусиятига mdiParentMDI номини берамиз
Унинг Caption хусусиятига «MDI нинг авлод =олдирувчи ойнаси» деган сарлавха киритамиз
Турли амалларни бажариш учун ю=ори меню хосил =иламиз. У =уйидагича яратилади:
Авлод =олдирувчи ойнани танлаймиз.
Tools менюсидан Menu Editor буйру\ини танлаймиз.
Name майдонига mnuFile сызини киритамиз.
Caption майдонига Файл сызини киритамиз ва Next тугмасини босамиз.
Кырсаткичи ынг тарафга =араган тугмачани босамиз.
Caption майдонига Янги форма сызини ва Name майдонига mnuFileNewForm сызини киритамиз щамда Next тугмасини босамиз.
Яна Caption майдонига Ойна сызини ва Name майдонига mnuWindow сызини киритамиз щамда ОК тугмасини босамиз.
Энди эса уни Run менюсидаги Start буйру\и ёрдамида ишлатиб кыришимиз мумкин. Дастур ишини тыхтатиш учун End буйру\ини танлаймиз.
Янги ойна яратиш учун дастур тузишимиз лозим былади. Бунинг учун авлод =олдирувчи ойнани танлаймиз ва унинг сиртида сич=ончанинг чап тугмасини икки марта босамиз.
Натижада кодлар ойнаси хосил былади. Ойнанинг чап ю=ори =исмидаги рыйхатдан mnuFileNewForm ва ынг тарафдаги рыйхатдан Click пунктлари танланади. Хосил былган процедурага =уйидаги код киритилади:
Dim frmNewForm As New frmChildMDI
frmNewForm.Show
Ю=оридаги коднинг вазифаси. New frmChildMDI - ойнасидан янги frmNewForm авлод ойнаси яратилмо=да ва у Show услуби ёрдамида визуаллашмо=да (кыринмо=да). Бу код, дастур ишга юкланиб «Файл» менюсидан «Янги форма» буйру\и танланганида ишлайди.
Ойнанинг чап ю=ори =исмидаги рыйхатдан mnuWindow ва ынг тарафдаги рыйхатдан Click пунктлари танланади. Хосил былган процедурага =уйидаги код киритилади:
mdiParentMDI.Arrange vbTileVertical
Кодлар ойнасининг энг ю=ори =исмига чи=илади ва Enter тугмаси босилади. Хосил былган быш сатрга =уйидаги код киритилади:
Dim frmCount As Integer
Ойнанинг чап ю=ори =исмидаги рыйхатдан MDIForm ва ынг тарафдаги рыйхатдан Load пунктлари танланади. Хосил былган процедурага =уйидаги код киритилади (кыпчилик холларда Load пункти автоматик чи=ади):
frmChildMDI.Caption = ”1 -ракамли авлод формаси”
frmCount = 1
mnuFileNewForm_Click() процедурасининг коди =уйидаги код билан алмаштирилади:
Dim frmNewForm As New frmChildMDI
frmCount = frmCount + 1
frmNewForm.Caption = Str(frmCount) + " - ракамли авлод формаси"
frmNewForm.Show
Ю=оридаги амаллар тыла бажарилганидан сынг дастурни ишга тушириб кыришимиз мумкин. Дастурнинг тыла коди =уйидагича:
Dim frmCount As Integer
|
Private Sub MDIForm_Load()
frmChildMDI.Caption = "1 - ракамли авлод формаси"
frmCount = 1
End Sub
|
Private Sub mnuWindow_Click()
mdiParentMDI.Arrange vbTileVertical
End Sub
|
Private Sub nmuFileNewForm_Click()
Dim frmNewForm As New frmChildMDI
frmCount = frmCount + 1
frmNewForm.Caption = Str(frmCount) + " - ракамли авлод формаси"
frmNewForm.Show
End Sub
|
Дастур ишлагандан кейин Асосий ойна авлод ойналари билан биргаликда =уйидаги кыринишга эга былади:
Меню
Бугунги кунда яратилаётган барча дастурлар менюлар ёрдамида бош=арилади. Сабаби ундан фойдаланиш =улай ва осондир. Меню икки хил былиб, улар ю=ори меню ва контекст менюлардир.
Ю=ори менюнинг щам ызига тегишли хусусиятлари мавжуд былиб улар =уйидаги жадвалда келтирилган:
Хусусият
| Вазифаси |
Name
|
Менюнинг номи
|
Caption
|
Меню сарлавхаси
|
Checked
|
Агар шу хусусият га TRUE =иймати берилса менюнинг сарлавхаси олдига белги =ыйилади.
|
Enabled
|
Менюнинг ишлашини таъминлайди. True =иймат =абул =илса ишлайди акс холда ишламайди.
|
HelpContextID
|
Менюга тегишли ёрдам контексти са=ланади.
|
Index
|
Меню индекси
|
NegotialePosition
|
Менюнинг экранда жойлашиши
|
Shortcut
|
Меню вазифасини тез бажариш учун тугмачалардан фойдаланиш
|
Visible
|
Менюни экранда кырсатиш ёки унинг акси
|
WindowList
|
Очилган ойналар сонини щисоблайди
|
Меню яратиш
Барча ю=ори менюларни яратишда Menu Editor мухарриридан фойдаланилади (15-расм).
15-расм. Menu Editor муло=от ойнаси
Менюни хосил =илувчи мухаррирни =уйидаги амаллар ёрдамида ча=ириш мумкин:
Tools менюсидан Menu Editor буйру\ини танлаш ор=али;
Menu Editor тугмасини босиш ор=али ;
Ctrl+E тугмачаларини тенг босиш ор=али.
Menu Editor ойнасида яна бир гурух бош=арув ойналари мавжуд былиб, улар =уйидаги имкониятларга эга:
кырсаткичи чапга =араган тугма ички менюни асосий менюга айлантиради;
кырсаткичи ынгга =араган тугма асосий менюни ички менюга айлантиради;
кырсаткичи пастга ва ю=орига =араган тугмалар меню пунктлари ырнини алмаштиради;
Next(Кейинги) – Махсус кырсаткични кейинги пунктга ытказади;
Insert(Жойлаш) – Меню пунктлари орасига янги пункт =ышади;
Delete (Ычириш) – Танланган пунктни ычиради.
Муло=от ойналари
Visual Basic 6 да дастурчилар учун тайёр холдаги диолог ойналари мавжуд былиб, улардан вазифасига =араб фойдаланиш мумкин. У ойналар =уйидагилардир:
Open (Очиш) – керакли файлни излаб топиш учун;
Save As (Ызгартириб са=лаш) – са=ланадиган файл жойини излаб топиш учун;
Font (Шрифт) – сифтни танлаш учун;
Color (Ранг) – ранг танлаш учун;
Print (Чоп этиш) – чоп этиш турини ырнатиш учун;
Help (Ёрдам) – Ёрдам системасини ишлатиш учун.
Ю=оридаги ойналар билан чу=урро= танишамиз.
MsgBox хабарлар ойнаси
MsgBox хабарлар ойнасидан турли орали= сыровлари ва=тида щамда хар хил вазиятлар ха=ида хабар беришда фойдаланилади (16-расм).
16-расм. MsgBox хабарлар ойнаси ёрдамида хосил =илинган матн.
MsgBox хабарлар ойнасининг тыла таърифи =ыйидагича:
MsgBox (prompt[, buttons] [, title] [, helpfile, context])
бу ерда –
prompt – Хабар матни. Матн кыпи билан 1024 белгини ыз ичига олади. Матинни иккиничи былагини пастга тушириш учун Chr(13) =атори =ышиб ёзилади(…+Chr(13)+…);
buttons – Хабарлар ойнасида хосил былувчи тугмача турларини ва хабар белгиларини ызида са=лайди. Биз улар билан =уйида танишамиз;
title – Хабарлар ойнасининг сарлавхаси;
helpfile – Ёрдам файлига йылни ызида са=лайди;
context - Ёрдам файли таркибидаги матнга йылни ызида са=лайди.
Immediate ойнасига =уйидаги кодни киритинг ва тугмасини босинг:
MsgBox "Барчага хайрли кун!", vbYesNo + vbExclamation, "Хабарлар ойнаси"
Immediate ойнасига ытиш учун View менюсидан Immediate Window буйру\и танланади ёки Ctrl+G тугмачалари тенг босилади.
13-маъруза: Visual Basic нинг график имкониятлари. Геометрик фигураларни хосил =илиш. Харакатли тасвирларни хосил =илиш.
Visual Basic нинг график имкониятлари етралича катта былиб, уни бир ёки иккита мавзу ёрдамида =амраб олиб былмайди. Шунинг учун Visual Basic нинг график имкониятларининг асосийлари ха=ида тыхталиб ытишга харакат =иламиз.
Visual Basic нинг график имкониятлари ёрдамида =уйидаги асосий амалларни бажариш мумкин:
формадаги ахборотни чизи=, рамкалар ва фреймлар ёрдамида гурухлаш ва белгилаш;
график тасвирли ахборотларни =ышиш
унга анимацияларни =ышиш билан интерфейсни кучайтириш.
Visual Basic да графика ва тасвирлар билан ишлаш учун график объектлар ва услублардан фойдаланилади:
формага тасвирларни ырнатиш ва ишлаш;
Picture бош=арув элементини =ыллаш;
Image бош=арув элементини =ыллаш.
Графика билан ишлаш учун оддий бош=арув элементлари.
Бош=арув элементлари панелида оддий график элементларни яратиш учун тугмалар мавжуд.
Тугма
|
Номланиши
|
Вазифаси
|
|
Line (ты\ри чизи=)
|
Формада чизи= хосил =илади
|
|
Shape (контур)
|
Формада контурни хосил =илади
|
|
Frame (рамка)
|
Формада объектларни гурухга =ышиш имконини берувчи рамка хосил =илади
|
Line бош=арув элементи - =алинлиги одатда 1 га тенг былган ты\ри чизи=. Чизи= кыринишини ызгартириш учун Line объектининг BorderStyle хусусиятидан фойдаланилади. Бу хусусият =уйидаги =ийматларни =абул =илади:
0 – Transpared кыринмас чизи=;
1 – Solid оддий чизи=;
2 – Dash штрихли чизи=;
3 – Dot пунктирли чизи=;
4 – Dash-Dot штрих-пунктирли чизи=;
5 – Dash-Dot-Dot икки пунктирли штрихпунктир чизи=;
6 – Inside Solid узлуксиз чизи=.
Чизи= =алинлиги BorderWidth хусусияти ёрдамида, унинг ранги эса BorderColor хусусияти ёрдамида берилади.
Shape бош=арув элементи турли кыринишдаги рамкаларни хосил =илиш учун =ылланилади. Shape объектининг Shape хусусияти =уйидагиларни =абул =илади:
0 – Rectangle ты\ри тыртбурчак;
1 – Square квадрат;
2 – Oval эллипс;
3 – Circle айлана;
4 – Rounded Rectangle силли= бурчакли ты\ри тыртбурчак
5 – Rounded Square силли= бурчакли ты\ри квадрат
Рамканинг чизи= типи, =алинлиги ва рангини Line объекти сингари ырнатилади.
Frame бош=арув элементи сарлавхали рамкага ыхшаб кетади. Рамка чизи\и ыстидаги сарлавха объектнинг Caption хусусияти ор=али берилади. Frame объекти ызига жойлашувчи объектларнинг усусий хусусиятларини бош=аради. Масалан, Frame нинг Visible хусусиятига False =иймат берилса, яъни объект кыринмас холатга =ыйилса, у холда унда жойлашган барча объектлар хам кыринмас холатига ытади.
График тасвирларни формага ырнатиш учун Image ва Picture объектларидан фойдаланилади. Бунинг учун бош=арув элементлари панелидан =уйидаги тугмалар =ылланилади:
Тугма
|
Номи
|
Яратилувчи объект
|
|
Image
|
Image
|
|
PictureBox
|
Picture
|
Ушбу объектлардан жойлашувчи тасвир сифатида фа=ат ани=ланган типдаги файллардан фойдаланилади. Ани=ланган типлар =уйида берилган: bmp, dib, ico, cur, wmf, emf, gif, jpg, jpeg.
Тасвирлар Image объектига унинг Picture хусусияти ёрдамида ырнатилади. Image объектида жойлашган тасвирнинг ылчамлари объектга нисбатан пропорционал равишда ызгаради. Ылчамларни ызгартиришни Stretch хусусияти билан бош=арилади. Агар бу хусусият False =ийматга эга былса, у холда Image объекти тасвир ылчамларига бо\ли= былади. Агар =иймат True га тенг былса, у холда тасвирнинг ылчами объект ылчамига бо\ли= равишда ызгаради.
Picture бош=арув элементи Imageдан фар=ли равишда тыли= контейнер сифатида ишлай олади. У бош=а бир бош=арув элементларини =абул =илиши мумкин. Яъни график услуб (Line, Circle, Point, Pset) ёрдамида чизиш ёки Print услуби ёрдамида матнни хосил =илиш мумкин.
Picture бош=арув элементи Visible хусусиятига эга былиб, унинг =ийматига бо\ли= холда объектга ырнатилган тасвирларни кыринувчи ёки кыринмас былиб =олиши мумкин. Picture объекти ёрдамида PaintPicture услубини =ыллаш билан оддий анимацияларни =уриш мумкин.
Формани лойихалаш ва=тида график тасвирни ырнатиш учун объектнинг Picture хусусиятидан фойдаланилади:
Объектнинг Properties ойнаси очилади;
Picture хусусияти танланади;
Хусусият ойнасининг ынг устунидаги уч ну=тали тугма босилади;
Хосил былган LoadPicture муло=отойнасида керакли файл танланади;
Открыт тугмаси босилади.
График услублар
Visual Basic график бош=арув элементларига =ышимча равишда график услублар тыпламига хам эгадир:
№
|
Услуб
|
Ани=ланиши
|
|
Circle
|
Айлана, ёй ёки эллипс чизиш
|
|
Cls
|
Чи=ариш сохасини тозалаш
|
|
Line
|
Ты\ри чизи= чизиш
|
|
PaintPicture
|
Тасвирни чизиш (юклаш)
|
|
Paint
|
Ну=та рангини ани=лаш
|
|
Print
|
Матнни хосил =илиш
|
|
Pset
|
Ну=та хосил =илиш
|
График услубларда рангларни бахолаш RGB ва QBColor функциялари билан амалга оширилади.
Circle услуби
Circle нинг ёзилиш формати =уйидагича ифодаланади:
Object.Circle[Step](X,Y),Radius,[color,start,end,aspect]
17-расм. Айлананинг объектга нисбатан жойлашиши.
Бу ерда,
Object – услуб =ылланилаётган объект номи. Агар объект кырсатилмаса, у холда объект деб форма кырсатилади;
X,Y – чизилувчи айлана, ёй ёки эллипснинг маркази координатаси. Координатанинг ылчов бирлиги объектнинг ScaleMode хусусиятида кырсатилади.
Radius - чизилувчи айлана, ёй ёки эллипснинг радиуси. Радиуснинг ылчов бирлиги объектнинг ScaleMode хусусиятида кырсатилади.
Color – Long типидаги =иймат былиб, чизи= рангини белгилайди. Агар ушбу параметр кырсатилмаса, у холда ForeColor хусусиятида кырсатилган ранг =абул =илинади. Рангни бериш учун RGB() ёки QBColor функцияларидан хам фойдаланса былади.
Start, End – ёй ёки эллипснинг бир =исми чизилаётганда ёйнинг радиандаги бошлан\ич ва охирги ну=талари: 2π дан -2π гача.
Aspect – айлананинг эллиптиклик коэффициенти. Айлана учун ушбу параметр 1.0 га тенг.
CLS услуби ёрдамида тасвир чизилаётган объект тозаланади: Object.Cls
Бу ерда Object – тасвир чизилаётган объект номи.
Line услуби.
Line услуби ты\ри чизи= чизиш учун =ылланилади (18-расм) ва =уйидагича ёзилиш форматига эга:
Object.Line(x1,y1)-(x2,y2),[color],[B][F]
Object – услуби =ылланилаётган объект. Агар объект кырсатилмаса, у холда объект сифатида форма кырсатилади;
х1, у1 – чизилувчи чизи=нинг бошлан\ич ну=тасининг координаталари;
х2, у2 – чизилувчи чизи=нинг охирги ну=тасининг координаталари;
color – чизи=нинг RGB палитрадаги ранги. Агар ранг кырсатилмаса, у холда объектнинг ForeColor хусусиятида кырсатилган ранг =абул =илинади;
В – ты\ри тыртбурчак чизишни белгилайди. Бунда х1,у1 лар ты\ри тыртбурчакнинг ю=ори чап ва х2,у2 лар эса пастки ынг бурчак координаталарини белгилайди.
F – ты\ри тыртбурчак сохасини чизи= рангида быяш.
|