2012-01-20 12 views
7

क्या विंडो का पृष्ठभूमि रंग प्राप्त करने के लिए कोई फ़ंक्शन (सी ++, एमएफसी) है?विंडो का पृष्ठभूमि रंग प्राप्त करें

+0

क्या आपका मतलब किसी भी विंडो या विंडोज़ डेस्कटॉप का पृष्ठभूमि रंग है? 'HbrBackground' के लिए – dwo

उत्तर

5
CDC* pDc= GetDC(); 
COLORREF crBkgnd = pDc->GetBkColor(); 
6

विंडोज़ के लिए एक डिफ़ॉल्ट पृष्ठभूमि रंग है, GetSysColor (COLOR_WINDOW) का उपयोग करें। लेकिन आखिर में एक खिड़की खुद को तय करती है कि 'पृष्ठभूमि' क्या है और 'अग्रभूमि' क्या है। WNDCLASS.hbrBackground और विंडो के WM_ERASEBKGND और WM_PAINT संदेश हैंडलर से प्रभावित। कुछ भी संभव है।

+0

+1। यह जरूरी नहीं है, लेकिन उस स्थिति में आपको आश्चर्य करना होगा कि पृष्ठभूमि रंग भी मौजूद है या नहीं। (उदा। पारदर्शी खिड़कियां और जैसे) – MSalters

+0

यह डिफ़ॉल्ट ऑनकल्ट कॉलर व्यवहार अतिरंजित होने पर भी WM_CTL_COLOR संदेश से प्रभावित हो सकता है। – sergiol

संबंधित मुद्दे