<?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[Bug in Visual Studio 2008?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe versucht ein CSplitButton Control in einen Dialog einzubinden und eine Membervariable davon erstellt. Allerdings sagt mir der Compiler, dass er die Klasse CSplitButton nicht kennt.</p>
<pre><code>Error 1 error C2146: syntax error : missing ';' before identifier 'm_SplitButton' ...
</code></pre>
<p>Tja, dachte ich. Das kann doch nicht sein, die neuen Controls wurden doch groß angekündigt. Ein wenig herumprobiert...und den Fehler gefunden. Die CSplitButton Klasse existiert nur bei aktivierter UNICODE-Unterstützung. Ist das ein Bug oder Feature?<br />
Hier ein Auszug aus der AfxWin.h:</p>
<pre><code class="language-cpp">//////////////////////////////////////////////
// Auszug aus der AfxWin.h (ab Zeile 3271)
//////////////////////////////////////////////

#if (_WIN32_WINNT &gt;= 0x600) &amp;&amp; defined(UNICODE)
class CSplitButton : public CButton
{
	DECLARE_DYNAMIC(CSplitButton)

// Constructors
public:
	CSplitButton();
	CSplitButton(UINT nMenuId, UINT nSubMenuId);
	CSplitButton(CMenu* pMenu);

	~CSplitButton();

	virtual BOOL Create(LPCTSTR lpszCaption, DWORD dwStyle,
				const RECT&amp; rect, CWnd* pParentWnd, UINT nID);

	void SetDropDownMenu(UINT nMenuId, UINT nSubMenuId);
	void SetDropDownMenu(CMenu* pMenu);

protected:
	DECLARE_MESSAGE_MAP()
	afx_msg void OnDropDown(NMHDR* /*pNMHDR*/, LRESULT *pResult);

	void Cleanup();

	CMenu * m_pMenu;
	UINT m_nMenuId;
	UINT m_nSubMenuId;
};

#endif // (_WIN32_WINNT &gt;= 0x600) &amp;&amp; defined(CSplitButton)
</code></pre>
<p>Ist das Problem bekannt bzw. gibt es dafür eine Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204430/bug-in-visual-studio-2008</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 04:28:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204430.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Feb 2008 10:03:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bug in Visual Studio 2008? on Sun, 03 Feb 2008 10:03:33 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe versucht ein CSplitButton Control in einen Dialog einzubinden und eine Membervariable davon erstellt. Allerdings sagt mir der Compiler, dass er die Klasse CSplitButton nicht kennt.</p>
<pre><code>Error 1 error C2146: syntax error : missing ';' before identifier 'm_SplitButton' ...
</code></pre>
<p>Tja, dachte ich. Das kann doch nicht sein, die neuen Controls wurden doch groß angekündigt. Ein wenig herumprobiert...und den Fehler gefunden. Die CSplitButton Klasse existiert nur bei aktivierter UNICODE-Unterstützung. Ist das ein Bug oder Feature?<br />
Hier ein Auszug aus der AfxWin.h:</p>
<pre><code class="language-cpp">//////////////////////////////////////////////
// Auszug aus der AfxWin.h (ab Zeile 3271)
//////////////////////////////////////////////

#if (_WIN32_WINNT &gt;= 0x600) &amp;&amp; defined(UNICODE)
class CSplitButton : public CButton
{
	DECLARE_DYNAMIC(CSplitButton)

// Constructors
public:
	CSplitButton();
	CSplitButton(UINT nMenuId, UINT nSubMenuId);
	CSplitButton(CMenu* pMenu);

	~CSplitButton();

	virtual BOOL Create(LPCTSTR lpszCaption, DWORD dwStyle,
				const RECT&amp; rect, CWnd* pParentWnd, UINT nID);

	void SetDropDownMenu(UINT nMenuId, UINT nSubMenuId);
	void SetDropDownMenu(CMenu* pMenu);

protected:
	DECLARE_MESSAGE_MAP()
	afx_msg void OnDropDown(NMHDR* /*pNMHDR*/, LRESULT *pResult);

	void Cleanup();

	CMenu * m_pMenu;
	UINT m_nMenuId;
	UINT m_nSubMenuId;
};

#endif // (_WIN32_WINNT &gt;= 0x600) &amp;&amp; defined(CSplitButton)
</code></pre>
<p>Ist das Problem bekannt bzw. gibt es dafür eine Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448387</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Sun, 03 Feb 2008 10:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to Bug in Visual Studio 2008? on Sun, 03 Feb 2008 10:05:51 GMT]]></title><description><![CDATA[<p>Wohl etwas zu voreilig gewesen.<br />
<a href="http://msdn2.microsoft.com/en-us/library/bb531404.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/bb531404.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448390</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Sun, 03 Feb 2008 10:05:51 GMT</pubDate></item></channel></rss>