2010-07-01 14 views

उत्तर

17

एक डिवाइस संदर्भ (डीसी) एक संरचना है जो ग्राफिक ऑब्जेक्ट्स और उनके संबंधित विशेषताओं के सेट को परिभाषित करती है, और आउटपुट को प्रभावित करने वाले ग्राफ़िक मोड को परिभाषित करती है।

चौड़ाई और ऊंचाई से मुझे लगता है कि आप चित्रित बिटमैप का जिक्र कर रहे हैं?
यदि ऐसा है तो मैं लगता है कि आप यह कर सकते:

BITMAP structBitmapHeader; 
memset(&structBitmapHeader, 0, sizeof(BITMAP)); 

HGDIOBJ hBitmap = GetCurrentObject(hDC, OBJ_BITMAP); 
GetObject(hBitmap, sizeof(BITMAP), &structBitmapHeader); 

//structBitmapHeader.bmWidth 
//structBitmapHeader.bmHeight 
2

अस्वीकरण के रूप में, मुझे जीडीआई के बारे में कुछ नहीं पता है या आपको अपने आवेदन में क्या करना है। मैं बस संभव होने पर सहायक होने की कोशिश कर रहा हूं।

कहा कि, मैं एक लिंक है जो बताते हैं कि यह GetClientRect उपयोग करने के लिए ड्राइंग क्षेत्र के आकार पाने के लिए उचित है लगता है पाया:

RECT clientRect; 

GetClientRect(hWnd,&clientRect); 

http://www.toymaker.info/Games/html/gdi.html#winsize

12

मुझे यह भी पता GDI बारे में बहुत कम है, लेकिन ऐसा लगता है कि GetDeviceCaps चाल चल सकता है।

+7

विशेष रूप GetDeviceCaps (hdc, HORZRES) 'और' GetDeviceCaps, '(hdc, VERTRES) 'वांछित क्या संभावना है। – TheUndeadFish

+3

GetDeviceCaps (hdc, *) विंडो आकार के बावजूद स्क्रीन आयाम देता है। केवेनके और msandiford के GetClientRect (WindowFromDC (एचडीसी), और आर) यद्यपि चाल है। – AbePralle

2

आप WindowFromDC(...) सकता है अगर यह एक खिड़की के साथ संबद्ध है डीसी की खिड़की पाने के लिए। इसके बाद आप क्लाइंट रेक्ट को प्राप्त करने के लिए @ केविनके के जवाब का उपयोग कर सकते हैं।

1

कोड का यह सरल टुकड़ा मैं प्रतिपादन क्षेत्र के आयाम प्राप्त करने के लिए हमेशा उपयोग करता हूं, जब मेरे पास केवल एचडीसी होता है। - सबसे पहले, आप HDC से एक HWND मिल चाहिए सरल है, तो आप इस HWND की ग्राहक रेक्ट प्राप्त कर सकते हैं:

RECT rcCli;   
GetClientRect(WindowFromDC(hdc), &rcCli); 
// then you might have: 
nWidth = rcCli.right-rcCli.left; 
nHeight = rcCli.bottom-rcCli.top; 
+0

यह केवल तभी काम करेगा जब डीसी खिड़की से जुड़ा हुआ हो। अन्य मामलों के लिए (उदा। CreateCompatibleDC() से प्राप्त डीसी) WindowFromDC() पूर्ण वापस आ जाएगा। – Archie

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