الشفافية خلفية زر باستخدام Win32 والأنماط البصرية
-
21-08-2019 - |
سؤال
تعديل: إذا أي شخص حاول هذا في 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، إذا كنت تستخدم ذلك.