में चित्र नियंत्रण में पीएनजी को प्रोग्रामेटिक रूप से सेट करना मैं विजुअल स्टूडियो 2008 का उपयोग करता हूं, मेरे पास संसाधन दृश्य में लोड की गई पीएनजी फ़ाइल है, इसे आईडीबीबीएएनजीजीएनजी असाइन किया गया है।Win32 एपीआई
चित्र नियंत्रण आईडीसी_STATIC15 कहा जाता है।
मुझे तस्वीर नियंत्रण में पीएनजी लोड करने की कोशिश करने में परेशानी हो रही है।
LRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
// Way of loading a bmp with a mask perhaps? Or a PNG file programatically?
static HBRUSH hBrushStatic;
HBITMAP hBmp = LoadBitmap(hDlg,MAKEINTRESOURCE(IDB_BANG_PNG));
switch(message)
{
case WM_INITDIALOG:
CheckDlgButton(hDlg, IDC_CHECK, FALSE);
EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
// Bitmap version is IDB_BANG, PNG is at IDB_BANG_PNG
// IDC_STATIC15 is the picture frame
HWND item = GetDlgItem(hDlg,IDC_STATIC15);
SendMessage(item,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
return TRUE;
// .... snip
मैं नहीं बल्कि अनुभवहीन हूँ जब यह, Win32/जीयूआई विकास की बात आती है एक त्वरित प्रोजेक्ट कर और उसे अटक गया, किसी भी मदद की सराहना की है।
आपको बिटमैप फ़ाइल की आवश्यकता है। आप पीएनजी छवि को बीएमपी छवि में कनवर्ट करना चाहते हैं। – anno
मैंने पढ़ा है कि आप पीएनजी का समर्थन कर सकते हैं लेकिन आपको इसे प्रोग्रामिक रूप से करना है। जब मैं एचटीई छवि फ़िल्टर का उपयोग कर छवियों को जोड़ता हूं, * .png सूचीबद्ध वस्तुओं में से एक है। –
समस्या यह है कि, मैं पारदर्शी पृष्ठभूमि को बनाए रखना चाहता हूं, इसलिए मैं पीएनजी का उपयोग क्यों करना चाहता हूं। जब तक, मैं बीएमपी का उपयोग करके एक मुखौटा बना सकता हूं, या आईसीओ फ़ाइल को 32x32 के बजाय बड़े आकार के आइकन का उपयोग करने की अनुमति नहीं देता। –