11-мавзу. Мулоқот ойналари билан ишлаш


FontDialog мулоқот ойнаси


Download 0.76 Mb.
Pdf ko'rish
bet4/10
Sana24.03.2023
Hajmi0.76 Mb.
#1292801
1   2   3   4   5   6   7   8   9   10
Bog'liq
11мавзу

2.
FontDialog мулоқот ойнаси. Бу ойна 
– фойдаланувчиларга керакли компонента 
учун шрифт ва унинг хусусиятларини ўрнатиш имконини берувчи мулоқот ойнасини 
кўрсатади. Бу компонентдани формага ўрнатилганда ҳеч қандай кўриниш ҳосил 
бўлмайди, аммо форманинг ички тузилмасига қўйшилади. Фомранинг ишчи ҳолатидаги 
формасининг пастки қисмида унинг объекти яратилади. 
Бу мулоқот ойнасини ишлатиш учун формага бир Label ва button объектларини 
ўрнатамиз. Тугма босилганда Label объектининг матнини ёзув хусусиятларини 
ўрнатишни кўриб чиқамиз. Бунинг учун тунманинг босилганда хусусиятига қуйидаги 
дастур фрагментни ёзиш етарли. 
fontDialog1->ShowColor = 
true

fontDialog1->Font = label1->Font; 
fontDialog1->Color = label1 ->ForeColor; 
Color
color = label1->ForeColor; 
System::Drawing::
Font
^ font = label1->Font; 
System::Windows::Forms::
DialogResult
result = fontDialog1-
>ShowDialog(); 
if
(result == ::System::Windows::Forms::
DialogResult
::
OK
) { 
label1->Font = fontDialog1->Font; 
label1->ForeColor = fontDialog1->Color; 
}


Дастуда дастлаб Label объектнинг ранг ва ёзувларини сақлаб олинади, чунки 
ёзувни форматлаш мулоқот ойнаси чақирилганда жорий ҳолатни олиш учун. Дастурда 
ранг ва ёзув қийматларини сақлаш учун ўзгарувчиларни аниқлаш олиб ҳам келтирилган. 
Мулоқот ойнасининг [OK] ҳодисаси бажарилганда ёзув ва рангни ўзгартириш 
кўрсатилган. 
11.3-расм. FontDialog мулоқот ойнасидан фойдаланиш. 
Бу синфнинг хусусияилари, усуллари ва ҳодисалари мавжуд. Улар амалий 
вазифаларни бажаришда фойдаланиш мумкин ва мустақил ўрганиш лозим. Чунки бир 
вазифани амалга ошириш учун турли хил алгоритмлардан фойдаланиш мумкин.
3.
OpenFileDialog мулоқот ойнаси. Бу ойна 
- фойдаланувчилар учун файлни танлаш 
имконини берадиган мулоқот ойнасини кўрсатади. Бу мулоқот ойнаси ҳам юқоридагидек 
фойдаланилади. Шунингдек, синфнинг мос хусусиятлари, усуллари ва ҳодисалари 
мавжуд. Фарқли хусусиятларни куўрсатиш учун бир мисол оламиз. Унда тугма 
босилганда label матнига файлнинг тўлиқ йўлини олиш ва ўрнатиш учун қуйидаги 
дастур фрагментини ёзилади. 
openFileDialog1->InitialDirectory = 
"c:\\"

openFileDialog1->Filter = 
"txt files (*.txt)|*.txt|doc 
files (*.doc)|*.doc,*.docx|All files (*.*)|*.*"

openFileDialog1->FilterIndex = 2; 
openFileDialog1->RestoreDirectory = 
true

openFileDialog1->Title = 
"Fayl nomini olish"

if
( openFileDialog1->ShowDialog() == 
System::Windows::Forms::
DialogResult
::
OK
){ 
if
(openFileDialog1->OpenFile() != 
nullptr
){ 
label1->Text = openFileDialog1->FileName; 

}
Дастурнинг биринчи сатри жорий каталог ўрнатилади. Шунингдек, жорий 
фойдаланувчининг керакли каталогларини ҳам ўрнатиш қийматлари бор. Сўнг, 
файлларни типи бўйича фильтрлаш ўрантилади. Ҳозирда 3 та формат ўрнатилган. 
Кейинги сатрда файл кенгайтмаларидан қайси бири жорий бўлиб чиқишини белгилаш 
амалга оширилган. Кўрсатилган каталогни фаоллаштириш бажарилган ва мулоқот 
ойнасининг сарлавҳасида керакли матн жойлаштирилган. Мулоқот ойнанинг тескари 
алоқаси текширилган ва шу асосида амал бажарилган. 


11.4-расм. FontDialog мулоқот ойнасидан фойдаланиш. 
Одатда бу мулоқот ойнаси маълум тизимша файлларни матнини жойлаштириш учун 
ишлатилади. Буни қандай амалга ошириш мумкин. Бунинг учун кичик бўлса ҳам матн 
муҳаррири яратиш лозим ва унга ОТдан оддий манли файлларни юклаб олиш мумкин. 
Файл ичидаги маълумотларни олиш учун қуйидагича дастур фрагменти ёзиш мумкин: 
openFileDialog1->Filter = 
"text files (*.txt)|*.txt|cpp 
files (*.cpp)|*.cpp|All files (*.*)|*.*"

openFileDialog1->FilterIndex = 2; 
openFileDialog1->RestoreDirectory = 
true

openFileDialog1->Title = 
"Fayl nomini olish"

openFileDialog1->FileName = 
""

if
( openFileDialog1->ShowDialog() == 
System::Windows::Forms::
DialogResult
::
OK
){ 
if
( (myStream = openFileDialog1->OpenFile()) != 
nullptr
){ 
System::IO::
StreamReader
^ sr = 
gcnew
System::IO::
StreamReader
(openFileDialog1->FileName); 
richTextBox1->Text = sr->ReadToEnd(); 
sr->Close(); 


Бу амалий дастур фрагментини амалиётга синаб кўриш орқали таҳлил қилинг. 

Download 0.76 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling