سؤال

تعديل: إذا أي شخص حاول هذا في Win32 من قبل، أنا ذاهب في الاتجاه الصحيح باستخدام DrawThemeBackground ()

وI'v تمكين مؤخرا الأنماط البصرية باستخدام واضح للإصدار 6 من COMCTL32.DLL. مثال على الأنماط البصرية في Win32: الأنماط البصرية

والأزرار تبدو كبيرة، ولكن لا أستطيع معرفة كيفية جعل الخلفية حول أزرار شفافة. يرجى الاطلاع على سبيل المثال صورة: http://www.freeimagehosting.net/image.php؟2bdeff33ba .jpg و

وتعيين اهتمامي الرئيسي لون خلفية إطار إلى الرمادي الداكن مع:

a.hbrBackground = GetStockObject(DKGRAY_BRUSH);

ويتم تهيئة الضوابط المشتركة مع:

INITCOMMONCONTROLSEX stylesStruct;
stylesStruct.dwSize = sizeof(stylesStruct);
stylesStruct.dwICC = ICC_STANDARD_CLASSES;
InitCommonControlsEx(&stylesStruct);

وأنا إنشاء زر النوافذ مع:

j = CreateWindow(L"BUTTON", L"hello",
    WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 100,
    100, 100, h, 0, hInst, 0);

وأزرار تبدو جيدة على خلفية بيضاء، ولكنه يصبح الحدود مرئية على أي شيء آخر. هل من الممكن لجعل الحدود حول أزرار شفافة؟

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

المحلول

هل حاولت WS_EX_TRANSPARENT؟

واعتقد انه يمكن تعيينها في محرر المورد في Visual Studio، إذا كنت تستخدم ذلك.

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