Wie Sie herausfinden, DC Abmessungen?
Sagen wir, ich habe ein handle für Gerätekontext (natürlich in einer Windows-Umgebung):
HDC hdc;
Wie kann ich die Breite und Höhe?
InformationsquelleAutor nhaa123 | 2010-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einem device context (DC) ist eine Struktur, definiert eine Reihe von Grafik-Objekte und Ihre zugehörigen Attribute, sowie die Grafik-Modi, die den output beeinflussen.
Durch Breite und Höhe, ich vermute, Sie beziehen sich auf die bitmap gemalt ?
Wenn ja, dann vermute ich, können Sie Folgendes versuchen :
InformationsquelleAutor YeenFei
Weiß ich auch wenig über die GDI, aber es scheint GetDeviceCaps könnte den trick tun.
GetDeviceCaps(hdc, HORZRES)
undGetDeviceCaps(hdc, VERTRES)
sind die meisten wahrscheinlich, was gewünscht ist.GetDeviceCaps(hdc,*) liefert die screen-Dimensionen, unabhängig von der Fenstergröße. KevenK und msandiford ist GetClientRect(WindowFromDC(hdc),&r) funktioniert der trick obwohl.
InformationsquelleAutor Cogwheel
Als disclaimer, ich weiß nichts über GDI oder was Sie haben, mit zu arbeiten, die in Ihrer Anwendung. Ich versuche nur hilfreich zu sein, wenn möglich.
Sagte, fand ich einen link, die zu suggerieren scheint, dass es angebracht ist, zu verwenden
GetClientRect
um die Größe des Zeichenbereichs:http://www.toymaker.info/Games/html/gdi.html#winsize
InformationsquelleAutor KevenK
Könnte man
WindowFromDC(...)
um die DC ' s Fenster, wenn es ist verbunden mit einem Fenster. Sie könnte dann mit @KevinK Antwort zu dem client rect.InformationsquelleAutor msandiford
Dieses einfache Stück code, den ich verwenden Sie immer die Dimensionen, die rendering-Bereich, wenn ich nur die HDC.
Erste, Sie müssen eine HWND-Eigenschaft aus der HDC - einfach ist, dann kannst du den client rect dieses HWND:
InformationsquelleAutor Claudiu