سؤال

لقد قمت بإنشاء شريط أدوات مع بعض عناصر التحكم فيه باستخدام حديد التسليح داخل النافذة. هل ممكن اي شخص يخبرني،

  1. كيفية الحصول على hwnd من الأزرار/combobox/etc (ليس الأزرار العادية في نافذة) إذا كنت أعرف (فقط) معرف ذلك؟
  2. كيفية الحصول على hbitmap إذا كنت أعرف معرف المورد؟
  3. كيفية ضبط الصورة النقطية على وحدة التحكم؟

    SendDlgItemMessagew (HWND ، NID ، BM_SetImage ، Image_bitmap ، (lParam) hbitmap) ؛

هذا لا يعمل مع أشرطة الأدوات ، أليس كذلك؟ لم أتمكن من العثور على طريقة للقيام بذلك ، الرجاء مساعدتي. شكرًا لك...

يعتبر

تحرير: أي شخص من فضلك؟ :(

تحرير: حسنًا. يبدو أن الجميع مشغولون هذه الأيام. :( راجع للشغل ، هل هو سؤال خاطئ؟

هل كانت مفيدة؟

المحلول

يمكنك التنزيل Controlspy وجربها هناك للتعرف على ذلك.
راجعت حديد التسليح ورأيت أن rb_setbandinfo (تحت رسائل) يمكن أن يكون ما تبحث عنه.

نصائح أخرى

getDlgItem سيعمل أيضًا مع حديد التسليح كما هو الحال مع مربع حوار.

يمكنك استخدام وظيفة getDlgitem مع أي زوج من نافذة الوالدين والطفل ، وليس فقط مع مربعات الحوار. طالما أن معلمة HDLG تحدد نافذة الأصل ، فإن نافذة الطفل لها معرف فريد (كما هو محدد بواسطة معلمة HMENU في وظيفة CreateWindow أو CreateWindowex التي أنشأت نافذة الطفل) ، وإرجاع GetDlgitem مقبضًا صالحًا إلى نافذة الطفل.

يمكنك استخدام LoadImage لتحميل صورة نقطية من مورد وإرجاع HbitMap.

أخيراً، SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top