mfc - कैसे एमएमसी में बटन को बिटमैप छवि जोड़ने के लिए?




cbitmap (4)

आप CBitmapButton::SubclassWindow का उपयोग करते हुए मौजूदा बटन को उप-वर्ग कर सकते हैं, फिर LoadBitmaps उपयोग LoadBitmaps

मैं एक मौजूदा बटन को एक छवि जोड़ने की कोशिश कर रहा हूं..मैंने कुछ हद तक यह किया है, समस्या यह है कि मैं एक स्वामित्व वाली छवि जोड़ सकता हूं, लेकिन मुझे लगता है कि अतुल्य छवि को जोड़ने में सक्षम नहीं हूं .. उदाहरण के लिए नीचे देखें कोड

CButton* pBtn= (CButton*)GetDlgItem(ID_WIZBACK);

   pBtn->ModifyStyle( 0, BS_ICON );

   HICON hIcn= (HICON)LoadImage(
        AfxGetApp()->m_hInstance,
  MAKEINTRESOURCE(IDI_ICON3),
        IMAGE_ICON,
        0,0, // use actual size
        LR_DEFAULTCOLOR
    );

    pBtn->SetIcon( hIcn );

उपरोक्त कोड के साथ बिटमैप को मेरे बटन में जोड़ने के लिए एक आइकन में कनवर्ट कर रहा हूं ... मैं एक मौजूदा बटन को सीधे बिटमैप छवि कैसे जोड़ सकता हूं.कृपया मुझे फ्रेंड्स में मदद करें ..


मैंने वास्तव में समस्या तय की है..मैंने एचबीआईटीएमएपी के साथ एचआईसीओएन को बदल दिया और एचटीएमआईएमएप के कामकाज को सही किया ... मूलतः दोनों ठीक काम करेंगे लेकिन मेरे मामले में जब मैंने आइकन को आइकन में लोड किया तो आइकन की पृष्ठभूमि बदल नहीं रही थी। ..मैं बिटमैप की कोशिश की तो यह बहुत अच्छा काम करता है अब छवि को पोजिशनिंग और पाठ जोड़ने के लिए काम कर रहा हूं ... लगता है कि मैं इसके माध्यम से जा सकता हूं


आपको नहीं पता कि यह कैसे मदद करता है पोस्ट करने का शुक्रिया। इसके अलावा कुछ अन्य चीजों को भी बिटमैप के रूप में बदलना होगा ...

CButton* pBtn= (CButton*)GetDlgItem(ID_MYDIALOG);
pBtn->ModifyStyle( 0, BS_BITMAP );

HBITMAP hIcn= (HBITMAP)LoadImage(
  AfxGetApp()->m_hInstance,
  MAKEINTRESOURCE(IDB_MYPIC),
  IMAGE_BITMAP,
  0,0, // use actual size
  LR_DEFAULTCOLOR
  );

pBtn->SetBitmap( hIcn );

एमएफसी में बटन को बिटमैप देने के लिए चरण:

  1. बिटमैप का ऑब्जेक्ट बनाएं
  2. LoadBitmap () का उपयोग करके बिटमैप लोड करें
  3. आईडी और GetDlgItem () विधि का उपयोग कर बटन को संभाल लें
  4. शैली को संशोधित करें ताकि हम इसे बिटमैप निर्दिष्ट कर सकें
  5. बिटमैप असाइन करने के लिए बटन हैंडल पर SetBitmap () का उपयोग करें

कोड:

CBitmap bmp;

bmp.LoadBitmap( IDB_BITMAP4 );

CButton* pButton = (CButton* )GetDlgItem(IDC_BUTTON1);

pButton->ModifyStyle(0,BS_BITMAP);

pButton->SetBitmap(bmp);