<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie erstellt man ein Window mit genauen Breiten und Höhen?]]></title><description><![CDATA[<p>Ich will genau X und Y Pixeln als Längen meines weißen Bereichs, wo man eigentlich etwas zeichnen kann.<br />
Z.B. wenn ich 800x600 will, dann muss der Window etwa höher sein, - um 30 oder 40 Pixeln usw.<br />
Wie kriege ich das?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180327/wie-erstellt-man-ein-window-mit-genauen-breiten-und-höhen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 22:55:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180327.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 May 2007 12:28:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Tue, 01 May 2007 12:28:06 GMT]]></title><description><![CDATA[<p>Ich will genau X und Y Pixeln als Längen meines weißen Bereichs, wo man eigentlich etwas zeichnen kann.<br />
Z.B. wenn ich 800x600 will, dann muss der Window etwa höher sein, - um 30 oder 40 Pixeln usw.<br />
Wie kriege ich das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276869</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Tue, 01 May 2007 12:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Tue, 01 May 2007 12:44:15 GMT]]></title><description><![CDATA[<p>guck dir mal GetWindowRect und GetClientRect an. Damit lässt sich das berechnen.</p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276876</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Tue, 01 May 2007 12:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Tue, 01 May 2007 13:38:36 GMT]]></title><description><![CDATA[<p><a href="http://msdn2.microsoft.com/en-us/library/ms632665.aspx" rel="nofollow">AdjustWindowRect</a> (bzw die Ex-Version) ist dafür eigentlich vorgesehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276927</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 01 May 2007 13:38:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 09:09:09 GMT]]></title><description><![CDATA[<p>Wie macht man denn das? Es soll irgendwie während der Initialisierung des Windows geschehen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279170</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 05 May 2007 09:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 16:14:56 GMT]]></title><description><![CDATA[<p>Ok, ok - so weit, so gut! Ich habe die Funktion AdjustWindowRectEx verwendet und es hat tatsächlich geklappt. Leider ist sie nicht universell. Denn:</p>
<blockquote>
<p>The AdjustWindowRectEx function does not take the WS_VSCROLL or WS_HSCROLL styles into account. To account for the scroll bars, call the GetSystemMetrics function with SM_CXVSCROLL or SM_CYHSCROLL.</p>
</blockquote>
<p>Wie soll jetzt die universelle Lösung aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279348</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 05 May 2007 16:14:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 16:20:01 GMT]]></title><description><![CDATA[<p>Du musst 2. Get System metrics aufrufen:</p>
<pre><code class="language-cpp">RECT r1;
AdjustWindowRect(WS_OVERLAPPEDWINDOW, &amp;r1);
// Wenn das fenster eine HScrollBar hat
r1.bottom += GetSystemMetrics(SM_CYHSCROLL);
// und bei VSCROLL
r1.right += GetSystemMetrics(SM_CXVSCROLL);
</code></pre>
<p>Das legst du natürlich beim erstellen des Fensters fest</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279354</guid><dc:creator><![CDATA[Dennis123]]></dc:creator><pubDate>Sat, 05 May 2007 16:20:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 17:27:08 GMT]]></title><description><![CDATA[<p>Ich benutzte da immer schirrmie's Lösung, dabei hat man kein Gehample mit irgendwelchen Styles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279401</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 05 May 2007 17:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 17:29:29 GMT]]></title><description><![CDATA[<p>Das mach ich auch so <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Vorallem, wenn man z.B. die styles ändert. Außerdem hat die Funktion bei mir schon oft nicht richtig funktioniert obwohl ich den Style (mit WS_EX) angegeben habe und keine scroll bars hatte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279405</guid><dc:creator><![CDATA[Dennis123]]></dc:creator><pubDate>Sat, 05 May 2007 17:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 19:15:15 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Ich benutzte da immer schirrmie's Lösung, dabei hat man kein Gehample mit irgendwelchen Styles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
</blockquote>
<p>Die sehe ich aber nirgendwo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279445</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 05 May 2007 19:15:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 05 May 2007 19:39:46 GMT]]></title><description><![CDATA[<p>Zdravko schrieb:</p>
<blockquote>
<p>geeky schrieb:</p>
<blockquote>
<p>Ich benutzte da immer schirrmie's Lösung, dabei hat man kein Gehample mit irgendwelchen Styles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
</blockquote>
<p>Die sehe ich aber nirgendwo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Ich habe doch nur ein Post geschrieben da ist doch nicht so viel zu übersehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Bei der Methode musst du halt selber rechnen. Guck dir die beiden Funktionen an und was diese tun. Mit ihnen erhählst du die höhe und breite vom gesamten Fenster und vom Child bereich dann kannst du die genauer höhe &amp; breite ausrechnen wie du es brauchst.</p>
<p>schirrmie</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279452</guid><dc:creator><![CDATA[schirrmie]]></dc:creator><pubDate>Sat, 05 May 2007 19:39:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sat, 14 Jul 2007 10:23:37 GMT]]></title><description><![CDATA[<p>Also ist das auch völlig korrekt oder?</p>
<pre><code class="language-cpp">void create_win(const TCHAR* caption,
			UINT style, 
			int w, int h, 
			HWND parent) {
				RECT r;
				r.bottom = h;
				r.left = 0;
				r.right = w;
				r.top = 0;
				AdjustWindowRect(&amp;r, style, false);
				hwnd_ = CreateWindow(cname_,	// window class name
					caption,					// window caption
					style,				        // window style
					0,							// initial x position
					0,						    // initial y position
					r.right,					// initial x size
					r.bottom,					// initial y size
					parent,                     // parent window handle
					0,	                        // window menu handle
					h_,			                // program instance handle
					0);							// creation parameters
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1325206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325206</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 14 Jul 2007 10:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sun, 15 Jul 2007 09:05:35 GMT]]></title><description><![CDATA[<p>Dennis123 schrieb:</p>
<blockquote>
<p>Du musst 2. Get System metrics aufrufen:</p>
<pre><code class="language-cpp">RECT r1;
AdjustWindowRect(WS_OVERLAPPEDWINDOW, &amp;r1);
// Wenn das fenster eine HScrollBar hat
r1.bottom += GetSystemMetrics(SM_CYHSCROLL);
// und bei VSCROLL
r1.right += GetSystemMetrics(SM_CXVSCROLL);
</code></pre>
<p>Das legst du natürlich beim erstellen des Fensters fest</p>
</blockquote>
<p>A nein! Das funzt einfach nicht. Siehe mal hier:</p>
<blockquote>
<p>dwStyle<br />
[in] Specifies the window style of the window whose required size is to be calculated. Note that you cannot specify the WS_OVERLAPPED style.</p>
</blockquote>
<p>Was mache ich dann???? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325676</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sun, 15 Jul 2007 09:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sun, 15 Jul 2007 12:36:02 GMT]]></title><description><![CDATA[<p>Hehe, deswegen mag ich AdjustWindowRect() nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /><br />
WS_OVERLAPPED ist quasi nen Kürzel für WS_FRAMEBORDER|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX oder sowas - Müsste in der msdn irgendwo stehen.</p>
<p>Einfacher wäre sowas:</p>
<pre><code class="language-cpp">void AdjustMyWindow(HWND hWnd, int ClientWidth, int ClientHeight)
{
    RECT clRt, wiRt;
    int diff_x, diff_y;

    GetClientRect(hWnd,&amp;clRt);
    GetWindowRect(hWnd,&amp;wiRt);

    diff_x=wiRt.right-wiRt.left-clRt.right;
    diff_y=wiRt.bottom-wiRt.top-clRt.bottom;

    MoveWindow(hWnd, wiRt.left, wiRt.top, diff_x+ClientWidth, diff_y+ClientHeight, true);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1325810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325810</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 15 Jul 2007 12:36:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie erstellt man ein Window mit genauen Breiten und Höhen? on Sun, 15 Jul 2007 15:04:10 GMT]]></title><description><![CDATA[<p>geeky, danke - das hat geklappt! Aber du hast nicht gesagt wann man diese Funktion aufrufen kann.<br />
In WM_SIZE: ja - das sollte gut laufen.<br />
Nach ShowWindow/UpdateWindow - ist auch OK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1325933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1325933</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sun, 15 Jul 2007 15:04:10 GMT</pubDate></item></channel></rss>