<?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[invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch]]></title><description><![CDATA[<p>Hi,<br />
bei folgendem Code</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = hInstance;
WndClass.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
WndClass.hCursor = LoadCursor (NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
WndClass.lpszMenuName = 0;
WndClass.lpszClassName = &quot;WinProg&quot;;
RegisterClass(&amp;WndClass);
HWND hWindow;
hWindow = CreateWindow(&quot;WinProg&quot;,&quot;Fenster&quot;,
WS_OVERLAPPEDWINDOW,
0,0,600,460,NULL,NULL,
hInstance, NULL);
ShowWindow (hWindow, nCmdShow);
UpdateWindow (hWindow);
MSG Message;
while (GetMessage(&amp;Message, NULL, 0, 0))
{
DispatchMessage(&amp;Message);
}
return (Message.wParam);
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT uiMessage,
WPARAM wParam,LPARAM lParam)
{
switch(uiMessage)
{
case WM_PAINT:
HPEN hPen;
HPEN hPenalt;
HBRUSH hBrush;
HBRUSH hBrushalt;
hBrush = CreateSolidBrush (RGB(255,100,0));
hPen = CreatePen (PS_SOLID,2,RGB(0,255,255));
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint (hWnd, &amp;ps);
hBrushalt = SelectObject (hdc, hBrush);
hPenalt = SelectObject (hdc, hPen);
MoveToEx (hdc, 20, 20, NULL);
LineTo (hdc, 100, 100);
Rectangle (hdc, 120, 20, 240, 140);
RoundRect (hdc, 260, 20, 420, 140, 20, 20);
RECT rect;
SetRect (&amp;rect, 20, 260, 240, 420);
FrameRect (hdc, &amp;rect, hBrush);
SetRect (&amp;rect, 260, 260, 420, 420);
FillRect (hdc, &amp;rect, hBrush);
Ellipse (hdc, 440, 260, 480, 420);
SelectObject (hdc, hBrushalt);
SelectObject (hdc, hPenalt);
DeleteObject (hPen);
DeleteObject (hBrush);
EndPaint (hWnd, &amp;ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc (hWnd, uiMessage,
wParam, lParam);
}
}
</code></pre>
<p>kommt immer</p>
<blockquote>
<p>In function <code>LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)': 49 invalid conversion from \</code>void*' to `HBRUSH__<em>'<br />
50 invalid conversion from `void</em>' to `HPEN__*'</p>
</blockquote>
<p>die 2 Zeilen sind</p>
<pre><code>hBrushalt = SelectObject (hdc, hBrush);
hPenalt = SelectObject (hdc, hPen);
</code></pre>
<p>Obwohl ich diesen Code direkt aus einem Ebook reuskopiert hab <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="😮"
    /><br />
Was ist falsch?</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127083/invalid-conversion-from-void-to-hbrush__-lt-lt-trotz-code-aus-buch</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 15:04:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127083.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Nov 2005 12:01:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Mon, 21 Nov 2005 12:01:28 GMT]]></title><description><![CDATA[<p>Hi,<br />
bei folgendem Code</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
WNDCLASS WndClass;
WndClass.style = 0;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.lpfnWndProc = WndProc;
WndClass.hInstance = hInstance;
WndClass.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
WndClass.hCursor = LoadCursor (NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
WndClass.lpszMenuName = 0;
WndClass.lpszClassName = &quot;WinProg&quot;;
RegisterClass(&amp;WndClass);
HWND hWindow;
hWindow = CreateWindow(&quot;WinProg&quot;,&quot;Fenster&quot;,
WS_OVERLAPPEDWINDOW,
0,0,600,460,NULL,NULL,
hInstance, NULL);
ShowWindow (hWindow, nCmdShow);
UpdateWindow (hWindow);
MSG Message;
while (GetMessage(&amp;Message, NULL, 0, 0))
{
DispatchMessage(&amp;Message);
}
return (Message.wParam);
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT uiMessage,
WPARAM wParam,LPARAM lParam)
{
switch(uiMessage)
{
case WM_PAINT:
HPEN hPen;
HPEN hPenalt;
HBRUSH hBrush;
HBRUSH hBrushalt;
hBrush = CreateSolidBrush (RGB(255,100,0));
hPen = CreatePen (PS_SOLID,2,RGB(0,255,255));
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint (hWnd, &amp;ps);
hBrushalt = SelectObject (hdc, hBrush);
hPenalt = SelectObject (hdc, hPen);
MoveToEx (hdc, 20, 20, NULL);
LineTo (hdc, 100, 100);
Rectangle (hdc, 120, 20, 240, 140);
RoundRect (hdc, 260, 20, 420, 140, 20, 20);
RECT rect;
SetRect (&amp;rect, 20, 260, 240, 420);
FrameRect (hdc, &amp;rect, hBrush);
SetRect (&amp;rect, 260, 260, 420, 420);
FillRect (hdc, &amp;rect, hBrush);
Ellipse (hdc, 440, 260, 480, 420);
SelectObject (hdc, hBrushalt);
SelectObject (hdc, hPenalt);
DeleteObject (hPen);
DeleteObject (hBrush);
EndPaint (hWnd, &amp;ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc (hWnd, uiMessage,
wParam, lParam);
}
}
</code></pre>
<p>kommt immer</p>
<blockquote>
<p>In function <code>LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)': 49 invalid conversion from \</code>void*' to `HBRUSH__<em>'<br />
50 invalid conversion from `void</em>' to `HPEN__*'</p>
</blockquote>
<p>die 2 Zeilen sind</p>
<pre><code>hBrushalt = SelectObject (hdc, hBrush);
hPenalt = SelectObject (hdc, hPen);
</code></pre>
<p>Obwohl ich diesen Code direkt aus einem Ebook reuskopiert hab <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="😮"
    /><br />
Was ist falsch?</p>
<p>Danke im voraus,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923168</guid><dc:creator><![CDATA[Xalon]]></dc:creator><pubDate>Mon, 21 Nov 2005 12:01:28 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Mon, 21 Nov 2005 12:04:25 GMT]]></title><description><![CDATA[<p>Du hast C Code als C++ Code kompiliert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923172</guid><dc:creator><![CDATA[der fehler]]></dc:creator><pubDate>Mon, 21 Nov 2005 12:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Mon, 21 Nov 2005 12:41:02 GMT]]></title><description><![CDATA[<p>Fazit:</p>
<pre><code class="language-cpp">hBrushalt = (HBRUSH) SelectObject (hdc, hBrush); 
hPenalt = (HPEN) SelectObject (hdc, hPen);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/923215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923215</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 21 Nov 2005 12:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Mon, 21 Nov 2005 12:53:40 GMT]]></title><description><![CDATA[<p>Danke <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=";)"
      alt="😉"
    /><br />
Aber ich dachte man kann C in C++ nutzen?Und das Buch ist für WinAPI und <strong>C++</strong> <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>
<p>Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923241</guid><dc:creator><![CDATA[Xalon]]></dc:creator><pubDate>Mon, 21 Nov 2005 12:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Mon, 21 Nov 2005 18:08:19 GMT]]></title><description><![CDATA[<p>Es gibt in C++ aber keine implizite Umwandlung von void* nach T*. Das musst du schon explizit angeben, zB mit static_cast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923592</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 21 Nov 2005 18:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Tue, 22 Nov 2005 21:02:53 GMT]]></title><description><![CDATA[<p>Xalon schrieb:</p>
<blockquote>
<p>Danke <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=";)"
      alt="😉"
    /><br />
Aber ich dachte man kann C in C++ nutzen?Und das Buch ist für WinAPI und <strong>C++</strong> <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="😕"
    /><br />
Xalon</p>
</blockquote>
<p>Das hat nicht das geringste mit C oder C++ zu tun, sondern liegt<br />
daran das SelectObject einen void Zeiger zurückliefert, da es<br />
verschiedene Objekte zurückgeben kann. Caste es in den entsprechenden<br />
Typen und schon geht es. Dazu reicht übrigens auch unter C++<br />
ein normaler cast. static_cast und co sind nett, aber man kann<br />
auch die guten alten C-Cast nehmen.</p>
<p>Das geht sogar bis zu diesem hier:</p>
<p>CPoint *GetPoint ();</p>
<p>CPoint&amp; pt = *GetPoint ()</p>
<p>if (&amp;pt == NULL)<br />
{<br />
bla<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/924744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924744</guid><dc:creator><![CDATA[nesemes]]></dc:creator><pubDate>Tue, 22 Nov 2005 21:02:53 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Wed, 23 Nov 2005 11:36:23 GMT]]></title><description><![CDATA[<p>nesemes schrieb:</p>
<blockquote>
<p>CPoint *GetPoint ();</p>
<p>CPoint&amp; pt = *GetPoint ()</p>
<p>if (&amp;pt == NULL)<br />
{<br />
bla<br />
}</p>
</blockquote>
<p>Dir ist aber schon klar, dass das kein gültiges C++ ist, oder? Stichwort: Nullreferenz. Hier bewegst du dich auf dünnem Eis, da der Standard nicht garantiert, dass sowas funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925115</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Wed, 23 Nov 2005 11:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Wed, 23 Nov 2005 11:59:16 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>nesemes schrieb:</p>
<blockquote>
<p>CPoint *GetPoint ();</p>
<p>CPoint&amp; pt = *GetPoint ()</p>
<p>if (&amp;pt == NULL)<br />
{<br />
bla<br />
}</p>
</blockquote>
<p>Dir ist aber schon klar, dass das kein gültiges C++ ist, oder? Stichwort: Nullreferenz. Hier bewegst du dich auf dünnem Eis, da der Standard nicht garantiert, dass sowas funktioniert.</p>
</blockquote>
<p>Referenz ist Referenz. Ich laufe dann in Probleme wenn ich die<br />
Nullreferenz verwende, klar. Aber deswegen wird Sie ja vorher<br />
abgefragt. Es ist in jeden Fall richtig, dass dies TrickyProgramming<br />
ist und Lint einem das um die Ohren hauen würde ;-)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925134</guid><dc:creator><![CDATA[nemeses]]></dc:creator><pubDate>Wed, 23 Nov 2005 11:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to invalid conversion from &#96;void*&#x27; to &#96;HBRUSH__*&#x27;  &amp;lt;&amp;lt; Trotz Code aus Buch on Wed, 23 Nov 2005 12:56:22 GMT]]></title><description><![CDATA[<p>nemeses schrieb:</p>
<blockquote>
<p>Referenz ist Referenz. Ich laufe dann in Probleme wenn ich die<br />
Nullreferenz verwende, klar.</p>
</blockquote>
<p>Was du als Problem bezeichnest ist was anderes als das, was der Standard als Problem bezeichnet. Undefiniertes Verhalten wird bereits durch das Dereferenzieren des Nullpointers ausgelöst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/925210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/925210</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 23 Nov 2005 12:56:22 GMT</pubDate></item></channel></rss>