के मैं (Windows वातावरण में स्वाभाविक रूप से,) डिवाइस संदर्भ के लिए एक संभाल मान लीजिए:डीसी के आयामों को कैसे ढूंढें?
HDC hdc;
मैं चौड़ाई और इसके बारे में ऊंचाई कैसे मिल सकता है?
के मैं (Windows वातावरण में स्वाभाविक रूप से,) डिवाइस संदर्भ के लिए एक संभाल मान लीजिए:डीसी के आयामों को कैसे ढूंढें?
HDC hdc;
मैं चौड़ाई और इसके बारे में ऊंचाई कैसे मिल सकता है?
एक डिवाइस संदर्भ (डीसी) एक संरचना है जो ग्राफिक ऑब्जेक्ट्स और उनके संबंधित विशेषताओं के सेट को परिभाषित करती है, और आउटपुट को प्रभावित करने वाले ग्राफ़िक मोड को परिभाषित करती है।
चौड़ाई और ऊंचाई से मुझे लगता है कि आप चित्रित बिटमैप का जिक्र कर रहे हैं?
यदि ऐसा है तो मैं लगता है कि आप यह कर सकते:
BITMAP structBitmapHeader;
memset(&structBitmapHeader, 0, sizeof(BITMAP));
HGDIOBJ hBitmap = GetCurrentObject(hDC, OBJ_BITMAP);
GetObject(hBitmap, sizeof(BITMAP), &structBitmapHeader);
//structBitmapHeader.bmWidth
//structBitmapHeader.bmHeight
अस्वीकरण के रूप में, मुझे जीडीआई के बारे में कुछ नहीं पता है या आपको अपने आवेदन में क्या करना है। मैं बस संभव होने पर सहायक होने की कोशिश कर रहा हूं।
कहा कि, मैं एक लिंक है जो बताते हैं कि यह GetClientRect
उपयोग करने के लिए ड्राइंग क्षेत्र के आकार पाने के लिए उचित है लगता है पाया:
RECT clientRect;
GetClientRect(hWnd,&clientRect);
मुझे यह भी पता GDI बारे में बहुत कम है, लेकिन ऐसा लगता है कि GetDeviceCaps चाल चल सकता है।
आप WindowFromDC(...)
सकता है अगर यह एक खिड़की के साथ संबद्ध है डीसी की खिड़की पाने के लिए। इसके बाद आप क्लाइंट रेक्ट को प्राप्त करने के लिए @ केविनके के जवाब का उपयोग कर सकते हैं।
कोड का यह सरल टुकड़ा मैं प्रतिपादन क्षेत्र के आयाम प्राप्त करने के लिए हमेशा उपयोग करता हूं, जब मेरे पास केवल एचडीसी होता है। - सबसे पहले, आप HDC से एक HWND मिल चाहिए सरल है, तो आप इस HWND की ग्राहक रेक्ट प्राप्त कर सकते हैं:
RECT rcCli;
GetClientRect(WindowFromDC(hdc), &rcCli);
// then you might have:
nWidth = rcCli.right-rcCli.left;
nHeight = rcCli.bottom-rcCli.top;
यह केवल तभी काम करेगा जब डीसी खिड़की से जुड़ा हुआ हो। अन्य मामलों के लिए (उदा। CreateCompatibleDC() से प्राप्त डीसी) WindowFromDC() पूर्ण वापस आ जाएगा। – Archie
विशेष रूप GetDeviceCaps (hdc, HORZRES) 'और' GetDeviceCaps, '(hdc, VERTRES) 'वांछित क्या संभावना है। – TheUndeadFish
GetDeviceCaps (hdc, *) विंडो आकार के बावजूद स्क्रीन आयाम देता है। केवेनके और msandiford के GetClientRect (WindowFromDC (एचडीसी), और आर) यद्यपि चाल है। – AbePralle