أبسط طريقة لتغيير ألوان عرض القائمة وعرض الشجرة
سؤال
أحاول العثور على طريقة بسيطة لتغيير لون النص والخلفية listview
و treeview
عناصر التحكم في WTL أو رمز Win32 العادي.
لا أريد حقًا أن أضطر إلى تنفيذ رسم المالك الكامل لعناصر التحكم هذه، ما عليك سوى تغيير الألوان المستخدمة.
أريد التأكد من أن الصور لا تزال مرسومة بالشفافية المناسبة.
أي اقتراحات؟
المحلول
ألق نظرة على وحدات الماكرو التالية:
نصائح أخرى
هناك أيضًا طرق مناسبة لل CListViewCtrl
و CTreeViewCtrl
فئات المجمع:
- GetBkColor
- SetBkColor
قد ترغب أيضًا في إلقاء نظرة على CCustomDraw::OnItemPrePaint الخاص بـ WTL (هذا إذا كنت بحاجة إلى التحكم في رسم العناصر الفردية)
مقالة جيدة تصف هذه العملية هنا
لقد مر وقت طويل منذ أن استخدمت واجهة برمجة التطبيقات win32 مباشرة، ولكن أعتقد أنه إذا تعاملت مع رسالة WM_ERASEBACKGROUND لعنصر التحكم الخاص بك، فيمكنك استخدام fillRect() في المعالج الخاص بك لطلاء الخلفية باستخدام أي لون تريده.