MFC (Microsoft Foundation Classes) এ ডায়ালগ বক্স তৈরি ও ব্যবহার করা খুবই গুরুত্বপূর্ণ একটি বিষয়। ডায়ালগ বক্স ব্যবহারকারীর ইনপুট নেয়ার জন্য অথবা তাদেরকে বিভিন্ন অপশন বা তথ্য প্রদর্শন করার জন্য ব্যবহৃত হয়। MFC তে ডায়ালগ বক্স তৈরি এবং ব্যবহারের জন্য কিছু নির্দিষ্ট পদ্ধতি অনুসরণ করতে হয়। এখানে ডায়ালগ বক্স তৈরি করার ধাপ এবং তা ব্যবহার করার পদ্ধতি ব্যাখ্যা করা হলো।
ডায়ালগ বক্স তৈরি
MFC তে ডায়ালগ বক্স তৈরি করতে দুইটি প্রধান উপায় রয়েছে:
- ডায়ালগ বক্স রিসোর্স ব্যবহার করে তৈরি করা
- ডায়ালগ ক্লাস তৈরি করে ডায়ালগ বক্সের মধ্যে কন্ট্রোলস অ্যাড করা
এখানে আমরা প্রথম পদ্ধতি নিয়ে আলোচনা করব।
ডায়ালগ বক্স রিসোর্স তৈরি করা
- Visual Studio এ নতুন MFC অ্যাপ্লিকেশন তৈরি করুন।
- Resource View এ যান এবং Dialogs ফোল্ডার এ রাইট ক্লিক করে Add Resource নির্বাচন করুন।
- Dialog নির্বাচন করুন এবং তারপর New Dialog নির্বাচন করে নতুন ডায়ালগ বক্স তৈরি করুন।
- ডায়ালগ বক্সের মধ্যে আপনি প্রয়োজনীয় কন্ট্রোলস যেমন বাটন, টেক্সট বক্স, লেবেল, চেকবক্স, ইত্যাদি রাখতে পারেন। এগুলি করতে আপনি Toolbox ব্যবহার করতে পারেন।
- ডায়ালগ বক্সের বিভিন্ন কন্ট্রোলস এর জন্য Ctrl+Alt+X চেপে Toolbox ওপেন করুন এবং ড্র্যাগ & ড্রপ করে কন্ট্রোলস অ্যাড করুন।
ডায়ালগ বক্সের জন্য ক্লাস তৈরি করা
- ডায়ালগ বক্স রিসোর্স তৈরি করার পর, Class View এ গিয়ে ডায়ালগ বক্সের ক্লাস তৈরি করুন। এটি ক্লাস উইজার্ডের মাধ্যমে করা যায়।
- ডায়ালগ বক্সের রিসোর্সের উপর রাইট ক্লিক করুন এবং Add Class নির্বাচন করুন।
- MFC Class নির্বাচন করুন এবং ডায়ালগ বক্সের জন্য একটি ক্লাস নাম দিন (যেমন
CMyDialog)। - এই ক্লাসটি ডায়ালগ বক্সের সাথে সংযুক্ত হবে।
ডায়ালগ বক্স ব্যবহার
ডায়ালগ বক্স চালু করা
ডায়ালগ বক্স চালু করতে, একটি মডাল বা মডলেস ডায়ালগ বক্স ব্যবহার করা যায়। মডাল ডায়ালগ বক্স ব্যবহারকারীকে শুধুমাত্র সেই ডায়ালগ বক্স বন্ধ না করা পর্যন্ত অন্য কোন উইন্ডোতে যেতে দেয় না। অন্যদিকে, মডলেস ডায়ালগ বক্স ব্যবহারকারীকে ডায়ালগ বক্সের বাইরে কাজ করার অনুমতি দেয়।
Modal Dialog Box:
CMyDialog dlg; dlg.DoModal();Modeless Dialog Box:
CMyDialog* pDlg = new CMyDialog; pDlg->Create(IDD_MY_DIALOG, pParentWnd); pDlg->ShowWindow(SW_SHOW);
এখানে CMyDialog হল ডায়ালগ বক্সের ক্লাস, যা আপনি তৈরি করেছেন।
ডায়ালগ বক্সে কন্ট্রোলস হ্যান্ডেল করা
ডায়ালগ বক্সে উপস্থিত কন্ট্রোলস (যেমন বাটন, এডিট বক্স, চেকবক্স) গুলির সাথে ইন্টারঅ্যাকশন করতে হলে, তাদেরকে হ্যান্ডল করার জন্য হ্যান্ডলার ফাংশন তৈরি করতে হবে। উদাহরণস্বরূপ, একটি বাটনের ক্লিক ইভেন্ট হ্যান্ডল করতে নিচের মতো কোড ব্যবহার করা যায়:
বাটন ক্লিক ইভেন্ট হ্যান্ডল করা
- Message Map এর মধ্যে বাটনের ক্লিক ইভেন্ট যোগ করুন:
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
ON_BN_CLICKED(IDC_MY_BUTTON, &CMyDialog::OnBnClickedMyButton)
END_MESSAGE_MAP()
- Button Click Handler Function তৈরি করুন:
void CMyDialog::OnBnClickedMyButton()
{
AfxMessageBox(_T("Button Clicked"));
}
এটি IDC_MY_BUTTON নামক বাটন ক্লিক হলে একটি ম্যাসেজ বক্স প্রদর্শন করবে।
ডায়ালগ বক্সের ভ্যালিডেশন
ডায়ালগ বক্সে সাধারণত ইনপুট ভ্যালিডেশন করা হয়। উদাহরণস্বরূপ, আপনি একটি Edit Box কন্ট্রোলের মাধ্যমে ব্যবহারকারী থেকে নাম গ্রহণ করছেন, এবং আপনি চাচ্ছেন না যে এটি খালি থাকুক।
void CMyDialog::OnOK()
{
CString strName;
GetDlgItemText(IDC_NAME_EDIT, strName);
if (strName.IsEmpty()) {
AfxMessageBox(_T("Name cannot be empty"));
return;
}
CDialogEx::OnOK();
}
এই কোডে, যদি Edit Box খালি থাকে, তাহলে একটি বার্তা প্রদর্শিত হবে এবং ডায়ালগ বক্স বন্ধ হবে না।
সারাংশ
MFC তে ডায়ালগ বক্স তৈরি ও ব্যবহারের পদ্ধতি খুবই সোজা। Visual Studio ব্যবহার করে আপনি সহজেই ডায়ালগ বক্স রিসোর্স তৈরি করতে পারেন এবং তারপর তার জন্য ক্লাস তৈরি করতে পারেন। ডায়ালগ বক্সে কন্ট্রোলস যোগ করতে এবং তাদের হ্যান্ডল করতে Message Map ব্যবহার করতে হয়। মডাল বা মডলেস ডায়ালগ বক্স ব্যবহারের মাধ্যমে, আপনি ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন করতে পারেন এবং ইনপুট ভ্যালিডেশনও করতে পারেন।
Read more