Tiplarni dinamik tarzda


OpenFileDialog muloqot oynasi


Download 1.83 Mb.
bet111/131
Sana16.06.2023
Hajmi1.83 Mb.
#1503422
1   ...   107   108   109   110   111   112   113   114   ...   131
Bog'liq
Tiplarni dinamik tarzda

OpenFileDialog muloqot oynasi. Bu oyna - foydalanuvchilar uchun faylni tanlash imkonini beradigan muloqot oynasini ko‘rsatadi. Bu muloqot oynasi ham yuqoridagidek foydalaniladi. Shuningdek, sinfning mos xususiyatlari, usullari va hodisalari mavjud. Farqli xususiyatlarni kuo‘rsatish uchun bir misol olamiz. Unda tugma bosilganda label matniga faylning to‘liq yo‘lini olish va o‘rnatish uchun quyidagi dastur fragmentini yoziladi.

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;
}
}

Dasturning birinchi satri joriy katalog o‘rnatiladi. Shuningdek, joriy foydalanuvchining kerakli kataloglarini ham o‘rnatish qiymatlari bor. So‘ng,
fayllarni tipi bo‘yicha filtrlash o‘rantiladi. Hozirda 3 ta format o‘rnatilgan. Keyingi satrda fayl kengaytmalaridan qaysi biri joriy bo‘lib chiqishini belgilash amalga oshirilgan. Ko‘rsatilgan katalogni faollashtirish bajarilgan va muloqot oynasining sarlavhasida kerakli matn joylashtirilgan. Muloqot oynaning teskari aloqasi tekshirilgan va shu asosida amal bajarilgan.
11.4-rasm. FontDialog muloqot oynasidan foydalanish.
Odatda bu muloqot oynasi maʻlum tizimsha fayllarni matnini joylashtirish uchun ishlatiladi. Buni qanday amalga oshirish mumkin. Buning uchun kichik bo‘lsa ham matn muharriri yaratish lozim va unga OTdan oddiy manli fayllarni yuklab olish mumkin. Fayl ichidagi maʻlumotlarni olish uchun quyidagicha dastur fragmenti yozish mumkin:

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();
}
}

Bu amaliy dastur fragmentini amaliyotga sinab ko‘rish orqali tahlil qiling.

    1. PrintDialog muloqot oynasi. Bu oyna - foydalanuvchilarga printerni tanlash va uning xususiyatlarini o‘rnatish imkonini beruvchi muloqot oynasini ko‘rsatadi. Oynaning juda ko‘p xususiyatlari, usullari va hodisalari bor. Bularni mustaqil ishlarni bajarish vaqtida amalga oshirish mumkin. Shuningdek, bu muloqot oynani ishlatish usullari hamjuda ko‘p. Odatda dasturchining loyiha holatidan kelib chiqqan holda foydalaniladi.

printDialog1->AllowSomePages = true; printDialog1->ShowHelp = true;
if ( printDialog1 == nullptr ) System::Windows::Forms::MessageBox::Show("pnull" ); System::Windows::Forms::DialogResult result = printDialog1->ShowDialog(); System::Windows::Forms::MessageBox::Show(result.ToString());
if ( result == System::Windows::Forms::DialogResult::OK )
{
// docToPrint->Print(); System::Windows::Forms::MessageBox::Show("Chop qilish boshlanadi");
}

Dastur fragmentida maʻlumotlarni chop qilish uchun avval uni maʻlum bir chiquvchi oqimga yozish va oqimni esa, hujjat formatiga joylashtirish kerak. Hujjatni esa, sahifalarni sozlab docToPrint obʻyekt yaratilishi kerak. Ammo chop qillishning turli parametrlarini ishlatish uchun muloqot oynasini chiqarib beradi. Kerakli xususiyatlarni o‘rnatgandan so‘ng amalni bajarish mumkin.

11.5-rasm. PrintDialog muloqot oynasidan foydalanish.
Dastur fragmentini bir loyiha joylashtirib, ishlatsangiz rasmdagidek ishlashi kerak.


    1. Download 1.83 Mb.

      Do'stlaringiz bilan baham:
1   ...   107   108   109   110   111   112   113   114   ...   131




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