Visual Basic Power Packs komponentalari va ularni ishlatish. Bu komponentalar guruhi alohida bo‘lib, ularni Microsoft Visual Basic Power Packs deb atashadi. Buni yangi varintlarini ham internetdan olish va o‘rnatish mumkin.
Asosiy vazifasi formani bezash uchun ishlatiladi, shuning uchun barcha komponentalarga bor bo‘lgan hodisalar mavjud.
Bu Microsoft.VisualBasic PowerPacks nomlar fazosida joylashgan bo‘lib, Visual Basic Power Packs elementlar uchun sinflari mavjud. Visual Basic Power to‘plamlar elementlari qo‘shimcha Windows formalari elementlari uchun mo‘ljallangan. Ular dastlab bepu l plagin-smaylik sifatida ishlatilgan va endi Visual Studio tarkibiga kiritilgan.
12.12-rasm. Visual Basic Power Packs komponentalari.
12.3-jadval. Visual Basic Power Packs komponentalari
Rasmi
|
Komponenta nomi
|
vazifasi
|
|
PrintForm
|
Formani chop qilishga ruxsat berishni boshqaradi
|
|
LineShape
|
Gorozantal, vertikal, diognal chiziqlarni boshqarishni taʻminlaydi
|
|
OvalShape
|
Oval ko‘rinishdagi obʻyektlarni boshqarishni taʻminlaydi
|
|
RectangleShape
|
To‘rtburchak ko‘rinishdagi obʻyektlarni boshqarishni
taʻminlaydi
|
|
DataRepeater
|
Talab asosida formatlangan maʻlumotlarni ko‘rsatadi
|
OvalShape komponentasining baʻzi xususiyatlari va hodisalari
BackColor – komponentaning orqa rangini o‘rnatadi va qiymatlari ranglar to‘plami.
BackStyle - komponentaning orqa stilini o‘rnatadi va qiymatlari 2 ta statik berilgan.
BorderColor - komponentaning chegara rangini o‘rnatadi va qiymatlari ranglar to‘plami.
BorderStyle - komponentaning chegara stilini o‘rnatadi va qiymatlari 6 ta statik berilgan.
BorderWight - komponentaning chegara rang qalinligini o‘rnatadi va qiymatlari sonlar.
FillColor - komponentaning aktiv bo‘lgandagi rangni o‘rnatadi va qiymatlari ranglar.
Location – komponentaning joylashuv o‘rnini o‘rnatish..
SelectionColor - komponentaning tanlangan bo‘lgandagi rangni o‘rnatadi va qiymatlari ranglar.
Bir loyiha yarating va unda 12.16-rasm kabi formani tayyorlang.
12.16-rasm. Loyiha ko‘rinishi.
Yaratilgan ovalShape1 ni forma bo‘yicha xarakatlanishni masalasini ko‘ramiz. Sizning formadagi 2 obʻyektni yaratishda ularning xususiyatlari bilan tanishib olgansiz.
Buning uchun loyihaga bir Timer1 obʻyektidan joylashtiramiz. Tez bajarilishi uchun uning interval xususiyatiga 1 qiymatni kiritamiz. Timer1 obʻyektining ustiga sichqonchani ikki marta bosib, timer1_Tick hodisasiga quyidagicha algoritm kiritamiz.
if(ovalpos <= (this->Size.Width - ovalShape1->Size.Width)){ ovalpos += 5;
ovalShape1->Location = Point(ovalpos,ovalShape1->Location.Y);
}
}
Bunda ovalpos qiymati 0ga teng bo‘lgan butun son tipidagi o‘zgaruvchi.
ovalpos = 0; timer1->Start();
Location – bu obʻyektning joylashinini belgilaydi va juft qiymatga ega Point qiymatni qabul qiladi. Shuningdek, Form1_Load hodisasida quyidagi algoritmni yozamiz.
Agar dasturni ishga tushirsangiz ovalShape1 obʻyektining harakatini ko‘rasiz.
Shakllarning FillColor, FillGradientColor, FillGradientStyle, FillStyle xususiyatlaridan foydalanib, turli xil tugmalarni ham yaratish mumkin.
Berilgan button tugmani bezash masalasini qaraymiz. Buning uchun formaga bitta tugma joylashtiramiz va uning xususiyatlarini quyidagicha aniqlaymiz.
using namespace System::Drawing::Drawing2D; using namespace System::Drawing::Text;
// ...
this->button1->Location = System::Drawing::Point(115, 438); this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(121, 49); this->button1->TabIndex = 0;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
Tugmaning button1_Paint hodisasiga o‘tib, quyidagi algoritimni yozamiz.
Pen^ pen = gcnew Pen(Color::Blue,10);
Brush^ brush = gcnew SolidBrush(Color::FromKnownColor (KnownColor::Control)); SolidBrush ^ brushinside = gcnew SolidBrush(Color:: Aquamarine);
Graphics ^gr = e->Graphics;
gr->FillRectangle(brush, 0, 0, button1->Width,button1->Height);
gr->FillEllipse(brushinside, 0, 0, button1->Width, button1->Height);
gr->DrawEllipse(pen, 0, 0, button1->Width, button1->Height); GraphicsPath^ path = gcnew GraphicsPath();
button1->Region = gcnew System::Drawing::Region(path); String^ text = "Boshlash";
System::Drawing::Font^ drawfont = gcnew System::Drawing::Font("Arial", 14); SolidBrush^ exbrush = gcnew SolidBrush(Color::Black);
RectangleF rect = RectangleF(button1->Width/2-40,button1->Height/2-10,button1->Width, button1->Height);
gr->DrawString(text, drawfont, exbrush,rect);
Bunda chizish uchun qalam - Pen , mo‘yqalam - Brush, to‘liq bo‘yash uchun
mo‘yqalam - SolidBrush yaratib olamiz. Kerali shakllarni chizish obʻyektinini tugmaning o‘lchamiga moslab tayyorlaymiz. Tugmaning ustiga matn joylagtirish uchun yana bir obʻyekt yaratamiz, unga matn, matn rangi, formati va egallash sohasini ko‘rsatib, DrawString bilan tugmaning ustiga chizamiz.
12.17-rasm. Tugmani bezashga misol.
Yangi yaratilgan tugmachalar orqali shakllarni oqim orqali boshqarish masalasini qaraymiz. Buning uchun Loyiha formasiga, 1 ta PictureBox, 2 ta button tugmani yuqoridagidek qilib joylashtiramiz. PictureBox ning BackColor xususiyatiga oq rangni o‘rnatimiz. Shaklning xarakatlantirish uchun uning tayanch nuchtasini ko‘chirib, oldingisi oq bilan bo‘yaladi va keyingisi hosil qilinadi, shunday qilib iteratsiya davom etaveradi.
Do'stlaringiz bilan baham: |