<?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[Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte mir eine eigene Buttonklasse basteln. Da Buttons ja im Grunde nichts anderes sind, als Childfenster, müssen diese mit CreateWindowEx() erzeugt werden. Dafür ist ja eine WindowClassEx Struktur nötig, die wiederum einen Zeiger auf auf die Messagehandler Funktion braucht. Ich wollte das alles intern in meiner Klasse im constructor lösen. Leider liefert mir der Compiler bei der Zuweisung des Funktionszeigers immer einen Konvertierungsfehler. Wie kann ich das lösen?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

class StandButton
{
private:
	HWND Button;
	LRESULT CALLBACK BtnWndProc(HWND,UINT,WPARAM,LPARAM);
public:
	StandButton(int,int,int,int);
};

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE VorInstanz,LPSTR CmdLine,int ShowCmd)
{
	return 1;
}

StandButton::StandButton(int x,int y,int xWidth,int yWidth)
{
	WNDCLASSEX FH;
	FH.lpfnWndProc=BtnWndProc; //error C2440: '=' : cannot convert from 'long
//(__stdcall StandButton::*)(struct HWND__ *,unsigned int,unsigned int,long)'
//to 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigne

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/129158/funktionszeiger-einer-messagehandlermethode-in-wndclassex-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 06:59:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129158.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 10 Dec 2005 20:04:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Sat, 10 Dec 2005 20:04:57 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich möchte mir eine eigene Buttonklasse basteln. Da Buttons ja im Grunde nichts anderes sind, als Childfenster, müssen diese mit CreateWindowEx() erzeugt werden. Dafür ist ja eine WindowClassEx Struktur nötig, die wiederum einen Zeiger auf auf die Messagehandler Funktion braucht. Ich wollte das alles intern in meiner Klasse im constructor lösen. Leider liefert mir der Compiler bei der Zuweisung des Funktionszeigers immer einen Konvertierungsfehler. Wie kann ich das lösen?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

class StandButton
{
private:
	HWND Button;
	LRESULT CALLBACK BtnWndProc(HWND,UINT,WPARAM,LPARAM);
public:
	StandButton(int,int,int,int);
};

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE VorInstanz,LPSTR CmdLine,int ShowCmd)
{
	return 1;
}

StandButton::StandButton(int x,int y,int xWidth,int yWidth)
{
	WNDCLASSEX FH;
	FH.lpfnWndProc=BtnWndProc; //error C2440: '=' : cannot convert from 'long
//(__stdcall StandButton::*)(struct HWND__ *,unsigned int,unsigned int,long)'
//to 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigne

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/939186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939186</guid><dc:creator><![CDATA[Xuul]]></dc:creator><pubDate>Sat, 10 Dec 2005 20:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Sat, 10 Dec 2005 20:08:46 GMT]]></title><description><![CDATA[<p>faq winapi</p>
<p>gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/939190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/939190</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Sat, 10 Dec 2005 20:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Mon, 12 Dec 2005 10:49:12 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=403" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/940044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940044</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 12 Dec 2005 10:49:12 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Mon, 12 Dec 2005 11:01:26 GMT]]></title><description><![CDATA[<p>Die Callback muss immer statisch sein (oder global)!<br />
=&gt;</p>
<pre><code class="language-cpp">class StandButton
{
  static LRESULT CALLBACK BtnWndProc(HWND,UINT,WPARAM,LPARAM);
};
</code></pre>
<p>Und nun hast Du ein Problem... deshalb schau Dir mal die Implementierung der MFC an, dann siehst Du was man da so alles machen muss... (ich sag nur &quot;AfxHookWindowCreate&quot;)</p>
<p>Add: Bzw. &quot;CWnd::FromHandlePermanent&quot; und &quot;afxMapHWND&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940056</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 12 Dec 2005 11:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Sat, 17 Dec 2005 10:26:20 GMT]]></title><description><![CDATA[<p>Nu hab ich das Problem gelöst, kommt doch glatt das nächste. Ich glaub das meintest du auch <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23231">@J.K</a>.<br />
Da hätt ich dann doch mal ne Frage</p>
<pre><code class="language-cpp">class Klasse
private:
  struct struktur
  {
    int Inhalt;
    struktur* nach;
    Klasse* instanz;
  };
  static struktur* pointer;
  public:
  Klasse(void);
};

struktur* Klasse::pointer=NULL //Der Typ struktur ist nicht bekannt
</code></pre>
<p>Wie kann ich das lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944108</guid><dc:creator><![CDATA[Xuul]]></dc:creator><pubDate>Sat, 17 Dec 2005 10:26:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Sat, 17 Dec 2005 11:15:09 GMT]]></title><description><![CDATA[<p>Den Typ <em>struktur</em> gibts nicht, <em>Klasse::struktur</em> aber schon. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/944145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944145</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 17 Dec 2005 11:15:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger einer Messagehandlermethode in WNDCLASSEX zuweisen on Sun, 18 Dec 2005 16:12:17 GMT]]></title><description><![CDATA[<p>NEIN!! Wie peinlich.. darauf hät ich auch selber kommen können. Trotzdem danke für eure Geduld mit mir</p>
]]></description><link>https://www.c-plusplus.net/forum/post/944917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/944917</guid><dc:creator><![CDATA[Xuul]]></dc:creator><pubDate>Sun, 18 Dec 2005 16:12:17 GMT</pubDate></item></channel></rss>