MFC (Microsoft Foundation Classes) ব্যবহার করে অ্যাপ্লিকেশন তৈরি করার সময় Dialog Box একটি অত্যন্ত গুরুত্বপূর্ণ অংশ। এটি ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন করতে ব্যবহৃত হয়, যেখানে ব্যবহারকারী তথ্য ইনপুট করতে পারেন বা কোনো বার্তা দেখতে পারেন। MFC তে, Dialog Box তৈরি এবং কাস্টম Dialog তৈরি করার প্রক্রিয়া সরল এবং শক্তিশালী। এখানে Dialog Box এর ব্যবহার এবং Custom Dialog তৈরির পদ্ধতি আলোচনা করা হলো।
Dialog Box এর সাথে কাজ করা
Dialog Box সাধারণত একটি উইন্ডো হয়, যেখানে একাধিক কন্ট্রোলস (যেমন: বাটন, এডিট বক্স, লেবেল ইত্যাদি) থাকে এবং ব্যবহারকারীকে কিছু ইনপুট দিতে বা অপশন নির্বাচন করতে সহায়তা করে। MFC তে Dialog Box তৈরি করার জন্য কয়েকটি পদ্ধতি রয়েছে।
- Dialog Box Creation: সাধারণত MFC এ CDialog ক্লাস ব্যবহার করে Dialog Box তৈরি করা হয়। ডায়ালগ বক্সের কন্ট্রোলস তৈরি এবং তাদের সাথে ইন্টারঅ্যাকশন করতে হলে, প্রথমে একটি ডায়ালগ বক্স ডিজাইন করতে হবে এবং পরে কোডে সেটিকে ব্যবহৃত করতে হবে।
Dialog Box Creation এর সাধারণ পদ্ধতি:
- New Dialog Box তৈরি করা
- ডায়ালগ বক্সের কন্ট্রোলস যোগ করা (যেমন, বাটন, এডিট বক্স)
- কোডে ডায়ালগ বক্সকে ইনস্ট্যান্স করে ব্যবহার করা
Custom Dialog তৈরি
Custom Dialog তৈরি করা মানে হল এমন একটি ডায়ালগ তৈরি করা যা আপনার নির্দিষ্ট প্রয়োজন অনুযায়ী কাস্টমাইজ করা হয়। MFC তে, Custom Dialog তৈরি করতে Resource Editor ব্যবহার করা হয় এবং তারপর C++ কোডে এটি প্রোগ্রাম করা হয়।
Custom Dialog তৈরি করার পদক্ষেপ
- New Dialog Box তৈরি করুন:
- Visual Studio এ একটি নতুন Dialog Box তৈরি করতে, Resource View তে গিয়ে Dialog এ রাইট ক্লিক করুন এবং Add New Resource নির্বাচন করুন।
- এরপর Dialog নির্বাচন করুন এবং একটি নতুন ডায়ালগ তৈরি করুন।
- Dialog Box এ কন্ট্রোল যোগ করা:
- ডায়ালগ বক্স ডিজাইনারে বিভিন্ন কন্ট্রোল (যেমন, বাটন, টেক্সট বক্স, লেবেল) যোগ করতে হবে।
- প্রতিটি কন্ট্রোলের ID ঠিক করে দিন যাতে পরে কোডে তাদের সঠিকভাবে রেফার করা যায়।
- Dialog Class তৈরি করুন:
- Dialog Box এর জন্য একটি C++ ক্লাস তৈরি করুন। Class Wizard এর সাহায্যে একটি ডায়ালগ ক্লাস তৈরি করতে পারবেন, যা আপনার ডায়ালগ বক্সের সাথে যুক্ত হবে।
- ক্লাসের মধ্যে ডায়ালগ বক্সের কন্ট্রোলের জন্য ইভেন্ট হ্যান্ডলিং কোড লিখুন। যেমন, বাটন ক্লিক বা এডিট বক্সের টেক্সট পড়া।
- Dialog Show and Interaction:
- কোডে DoModal() ফাংশন ব্যবহার করে ডায়ালগ বক্সটি প্রদর্শন করুন। এটি ডায়ালগ বক্সটি মডালভাবে দেখাবে, অর্থাৎ ব্যবহারকারী যখন পর্যন্ত ডায়ালগ বক্স বন্ধ না করেন, তখন পর্যন্ত অন্য কোন উইন্ডোতে কাজ করতে পারবেন না।
Custom Dialog Example:
// Dialog class definition
class CCustomDialog : public CDialogEx
{
public:
CCustomDialog(CWnd* pParent = nullptr); // standard constructor
enum { IDD = IDD_CUSTOM_DIALOG }; // dialog box ID
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
private:
CEdit m_editBox;
CButton m_button;
};
// Constructor
CCustomDialog::CCustomDialog(CWnd* pParent)
: CDialogEx(IDD_CUSTOM_DIALOG, pParent)
{
}
void CCustomDialog::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT, m_editBox); // Bind control to variable
DDX_Control(pDX, IDC_BUTTON, m_button); // Bind button
}
BOOL CCustomDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();
// Initialization code here
m_button.SetWindowText(_T("Click Me"));
return TRUE;
}
// On button click handler
BEGIN_MESSAGE_MAP(CCustomDialog, CDialogEx)
ON_BN_CLICKED(IDC_BUTTON, &CCustomDialog::OnBnClickedButton)
END_MESSAGE_MAP()
void CCustomDialog::OnBnClickedButton()
{
CString str;
m_editBox.GetWindowText(str); // Get text from the edit box
AfxMessageBox(str); // Display text in a message box
}
// Main code to show the dialog
void CMainFrame::OnShowCustomDialog()
{
CCustomDialog dlg;
dlg.DoModal(); // Display the dialog
}
সারাংশ
MFC তে Dialog Box ব্যবহার করা খুবই সাধারণ এবং প্রয়োজনীয়। Custom Dialog তৈরি করতে, আপনি প্রথমে ডায়ালগ বক্স ডিজাইন করবেন, পরে C++ কোডে সেই ডায়ালগের জন্য কন্ট্রোলস এবং ইভেন্ট হ্যান্ডলার যুক্ত করবেন। এর ফলে আপনি সম্পূর্ণ কাস্টমাইজড এবং ইন্টারঅ্যাকটিভ ডায়ালগ তৈরি করতে পারবেন, যা আপনার অ্যাপ্লিকেশন ব্যবহারকারীকে আরও উন্নত অভিজ্ঞতা দিতে সহায়তা করবে। DoModal() ফাংশন ব্যবহার করে ডায়ালগ বক্স প্রদর্শন করা হয় এবং কোডের মাধ্যমে ইন্টারঅ্যাকশন পরিচালিত হয়।
Read more