MFC (Microsoft Foundation Classes)-এ OnPrint এবং OnPreparePrinting মেথড দুটি খুবই গুরুত্বপূর্ণ, বিশেষত যখন আপনি আপনার অ্যাপ্লিকেশন থেকে প্রিন্ট আউট নেওয়ার কার্যকারিতা যোগ করতে চান। এই মেথডগুলি কাস্টম প্রিন্টিং এবং প্রিন্টিং সেটআপ সম্পর্কিত কাজগুলো পরিচালনা করতে ব্যবহৃত হয়।
OnPreparePrinting
OnPreparePrinting মেথডটি প্রিন্টিং শুরু করার আগে প্রয়োজনীয় প্রস্তুতি নিতে ব্যবহৃত হয়। এটি সাধারণত প্রিন্টিং প্রসেস শুরু হওয়ার আগে কল করা হয় এবং প্রিন্ট ডায়ালগ বা প্রিন্ট সেটআপ কনফিগারেশন প্রদান করতে সহায়তা করে। এই মেথডটি আপনার অ্যাপ্লিকেশনকে প্রিন্টিং প্রক্রিয়া শুরু করার আগে বিভিন্ন সেটিংস কনফিগার করার সুযোগ দেয়।
MFC-তে প্রিন্টিং প্রক্রিয়া শুরু করার সময় OnPreparePrinting মেথডটি এমনভাবে কনফিগার করা হয় যাতে প্রিন্টার, পেজ সাইজ, মার্জিন ইত্যাদি সেট করা যায়।
OnPreparePrinting মেথডটি সাধারণত CView বা CWnd ক্লাসে ব্যবহার করা হয়।
ব্যবহার:
BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
// প্রিন্টিং সেটআপ কনফিগারেশন
pInfo->SetMinPage(1); // মিনিমাম পেজ
pInfo->SetMaxPage(1); // ম্যাক্সিমাম পেজ
return DoPreparePrinting(pInfo); // DoPreparePrinting কলে প্রিন্টিং প্রস্তুতি নেয়
}
এখানে, CPrintInfo একটি স্ট্রাকচার যা প্রিন্টিং সম্পর্কিত ইনফরমেশন ধারণ করে, যেমন পেজ রেঞ্জ, প্রিন্টার সেলেকশন ইত্যাদি।
OnPrint
OnPrint মেথডটি প্রিন্টিং এর মূল লজিক ধারণ করে এবং এটি CView বা CWnd ক্লাসে ব্যবহৃত হয়। এই মেথডটি ড্রয়িং ফাংশনালিটি সরবরাহ করে, যা ব্যবহারকারী বা অ্যাপ্লিকেশন ডাটা অনুযায়ী পেজে কন্টেন্ট প্রিন্ট করতে সহায়তা করে।
OnPrint সাধারণত প্রিন্টিং ডিভাইসের গ্রাফিক্স কনটেক্সট (CDC) ব্যবহার করে ড্রয়িং অপারেশন করে। এতে আপনি বিভিন্ন পেইজ উপাদান (যেমন টেক্সট, লাইন, গ্রাফিক্স) ড্রয়িং করতে পারবেন।
ব্যবহার:
void CMyView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
// প্রিন্টার গ্রাফিক্স কনটেক্সট পেতে
pDC->TextOut(100, 100, _T("Hello, MFC Printing!"));
// আপনি যেকোনো গ্রাফিক্স বা টেক্সট ড্র করতে পারেন
pDC->MoveTo(100, 120);
pDC->LineTo(200, 120);
}
এখানে, CDC হল প্রিন্টিং বা ড্রয়িং করার জন্য ব্যবহৃত কনটেক্সট ক্লাস। TextOut() এবং LineTo() মেথড ব্যবহার করে আপনি টেক্সট এবং লাইন ড্র করতে পারেন।
OnPreparePrinting এবং OnPrint এর পার্থক্য
- OnPreparePrinting: এই মেথডটি প্রিন্টিংয়ের আগে প্রয়োজনীয় প্রস্তুতি নেয়। এখানে প্রিন্ট সেটআপ, পেজ রেঞ্জ, ডিভাইস নির্বাচন ইত্যাদি কনফিগার করা হয়।
- OnPrint: এই মেথডটি মূলত প্রিন্ট আউটের জন্য কনটেন্ট তৈরি এবং গ্রাফিক্স ড্র করার জন্য ব্যবহৃত হয়। এটি প্রিন্টারের গ্রাফিক্স কনটেক্সট ব্যবহার করে কন্টেন্ট পেজে প্রিন্ট করে।
সারাংশ
MFC তে OnPreparePrinting এবং OnPrint মেথড দুটি প্রিন্টিং প্রক্রিয়া পরিচালনা করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। OnPreparePrinting মেথডটি প্রিন্টিং শুরুর আগে সেটআপ এবং কনফিগারেশন তৈরি করে, যখন OnPrint মেথডটি ড্রয়িং এবং কন্টেন্ট প্রিন্টের জন্য ব্যবহৃত হয়।
Read more