<?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[Rebar mit Toolbar funktioniert unter Vista&#x2F;Wine, aber nicht unter XP&#x2F;Win200]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beisse mir seit 3 Tagen die Zähne an einer simplen Rebar mit einer Toolbar die Zähne aus.</p>
<p>Mein Problem ist nun, der unten genannte Code funktioniert unter Vista einwandfrei, nur sobald man die Manifest-Datei weglässt, auf ein altes Theme schaltet oder das Programm unter XP (Moderne Themes, Luna etc..) ausführt, ist von einer Toolbar oder eine Rebar nichts zu sehen.</p>
<p>Ich habe mich schon viel mit den Werten und Einstellungen gespielt, mein bisher bestes Ergebnis unter XP war die normale Toolbar mit weißem Hintergrund, aber den Verlaufseffekt der Rebar ist mir noch nicht gelungen.</p>
<p>Ich habe schon sämtliche Beispiele der MSDN oder anderen Seiten probiert und habe keine unter XP zum laufen gebracht.</p>
<p>Dazu muss gesagt sein, Windows XP läuft in einer virtuellen Maschine.</p>
<p>Hat jemand eine Lösung für das Problem, oder einen Ratschlag?</p>
<p>Ich benutze Visual Studio 9</p>
<p>Beispiel mit 2 Rebars die unter Vista funktionieren:<br />
Bar1 mit Toolbar<br />
Bar2 nur Text</p>
<p>Die CommonControls sind initialisiert.<br />
&lt;schnipp</p>
<pre><code class="language-cpp">//...
case WM_CREATE:
		{
			RECT Rc;

			HWND hTool;			
			TBBUTTON TbButton[3];
			TBADDBITMAP TbAddBitmap;
			long Size;

			REBARINFO RebarInfo;
			REBARBANDINFO RebarBandInfo;
			HWND hReBar;

			//IDC_MAIN_REBAR
			hReBar = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, NULL,
 						 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | 
 						 RBS_REGISTERDROP | RBS_VARHEIGHT | CCS_NODIVIDER,
						 0,0,0,0, hwnd, (HMENU)IDC_MAIN_REBAR, GetModuleHandle(NULL), NULL);

     		RebarInfo.cbSize = sizeof(REBARINFO);
     		RebarInfo.fMask  = 0;
     		RebarInfo.himl   = (HIMAGELIST)NULL;
     		SendMessage(hReBar, RB_SETBARINFO, 0, (LPARAM)&amp;RebarInfo);

			//IDC_MAIN_TOOL
			hTool= CreateWindowEx(0,TOOLBARCLASSNAME,NULL,WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | CCS_NOPARENTALIGN | CCS_NODIVIDER,0,0,0,0,hwnd, (HMENU)IDC_MAIN_TOOL,GetModuleHandle(NULL),NULL);

			SendMessage(hTool,TB_BUTTONSTRUCTSIZE,(WPARAM)sizeof(TBBUTTON),0);

			TbAddBitmap.hInst = HINST_COMMCTRL;
			TbAddBitmap.nID = IDB_STD_SMALL_COLOR;
			SendMessage(hTool,TB_ADDBITMAP,0,(LPARAM)&amp;TbAddBitmap);

			ZeroMemory(TbButton, sizeof(TbButton));

			TbButton[0].iBitmap = STD_FILENEW;
			TbButton[0].fsState = TBSTATE_ENABLED;
			TbButton[0].fsStyle = TBSTYLE_BUTTON;
			TbButton[0].idCommand = ID_DATEI_NEU;

			TbButton[1].iBitmap = STD_FILEOPEN;
			TbButton[1].fsState = TBSTATE_ENABLED;
			TbButton[1].fsStyle = TBSTYLE_BUTTON;
			TbButton[1].idCommand = ID_DATEI_OEFFNEN;

			TbButton[2].iBitmap = STD_FILESAVE;
			TbButton[2].fsState = TBSTATE_ENABLED;
			TbButton[2].fsStyle = TBSTYLE_BUTTON;
			TbButton[2].idCommand = ID_DATEI_SPEICHERN;

			SendMessage(hTool,TB_ADDBUTTONS,sizeof(TbButton)/sizeof(TBBUTTON),(LPARAM)&amp;TbButton);

			Size = SendMessage(hTool,TB_GETBUTTONSIZE,0,0);

			GetWindowRect(hTool,&amp;Rc);

			//ADD TOOLBAR TO REBAR (hopefully)
			memset(&amp;RebarBandInfo, 0, sizeof(REBARBANDINFO));
			RebarBandInfo.cbSize = sizeof(REBARBANDINFO);
     		RebarBandInfo.fMask  = RBBIM_TEXT | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE | RBBIM_STYLE;
     		RebarBandInfo.fStyle = RBBS_CHILDEDGE | RBBS_FIXEDBMP | RBBS_GRIPPERALWAYS;
			RebarBandInfo.lpText = &quot;BAR1&quot;;
     		RebarBandInfo.hwndChild  = hTool;
			RebarBandInfo.cxMinChild = Rc.right - Rc.left;
     		RebarBandInfo.cyMinChild = Rc.bottom - Rc.top;
     		RebarBandInfo.cx		 = 200;

     		SendMessage(hReBar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&amp;RebarBandInfo);

			memset(&amp;RebarBandInfo, 0, sizeof(REBARBANDINFO));
			RebarBandInfo.cbSize = sizeof(REBARBANDINFO);
     		RebarBandInfo.fMask  = RBBIM_TEXT | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE | RBBIM_STYLE;
     		RebarBandInfo.fStyle = RBBS_CHILDEDGE | RBBS_FIXEDBMP | RBBS_GRIPPERALWAYS;
			RebarBandInfo.lpText = &quot;BAR2&quot;;
			RebarBandInfo.cxMinChild = Rc.right - Rc.left;
     		RebarBandInfo.cyMinChild = Rc.bottom - Rc.top;
     		RebarBandInfo.cx		 = 200;

     		SendMessage(hReBar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&amp;RebarBandInfo);

		}
//	...
</code></pre>
<p>&lt;/schnipp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/218092/rebar-mit-toolbar-funktioniert-unter-vista-wine-aber-nicht-unter-xp-win200</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 04:39:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218092.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Jul 2008 22:14:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rebar mit Toolbar funktioniert unter Vista&#x2F;Wine, aber nicht unter XP&#x2F;Win200 on Tue, 15 Jul 2008 22:14:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beisse mir seit 3 Tagen die Zähne an einer simplen Rebar mit einer Toolbar die Zähne aus.</p>
<p>Mein Problem ist nun, der unten genannte Code funktioniert unter Vista einwandfrei, nur sobald man die Manifest-Datei weglässt, auf ein altes Theme schaltet oder das Programm unter XP (Moderne Themes, Luna etc..) ausführt, ist von einer Toolbar oder eine Rebar nichts zu sehen.</p>
<p>Ich habe mich schon viel mit den Werten und Einstellungen gespielt, mein bisher bestes Ergebnis unter XP war die normale Toolbar mit weißem Hintergrund, aber den Verlaufseffekt der Rebar ist mir noch nicht gelungen.</p>
<p>Ich habe schon sämtliche Beispiele der MSDN oder anderen Seiten probiert und habe keine unter XP zum laufen gebracht.</p>
<p>Dazu muss gesagt sein, Windows XP läuft in einer virtuellen Maschine.</p>
<p>Hat jemand eine Lösung für das Problem, oder einen Ratschlag?</p>
<p>Ich benutze Visual Studio 9</p>
<p>Beispiel mit 2 Rebars die unter Vista funktionieren:<br />
Bar1 mit Toolbar<br />
Bar2 nur Text</p>
<p>Die CommonControls sind initialisiert.<br />
&lt;schnipp</p>
<pre><code class="language-cpp">//...
case WM_CREATE:
		{
			RECT Rc;

			HWND hTool;			
			TBBUTTON TbButton[3];
			TBADDBITMAP TbAddBitmap;
			long Size;

			REBARINFO RebarInfo;
			REBARBANDINFO RebarBandInfo;
			HWND hReBar;

			//IDC_MAIN_REBAR
			hReBar = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, NULL,
 						 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | 
 						 RBS_REGISTERDROP | RBS_VARHEIGHT | CCS_NODIVIDER,
						 0,0,0,0, hwnd, (HMENU)IDC_MAIN_REBAR, GetModuleHandle(NULL), NULL);

     		RebarInfo.cbSize = sizeof(REBARINFO);
     		RebarInfo.fMask  = 0;
     		RebarInfo.himl   = (HIMAGELIST)NULL;
     		SendMessage(hReBar, RB_SETBARINFO, 0, (LPARAM)&amp;RebarInfo);

			//IDC_MAIN_TOOL
			hTool= CreateWindowEx(0,TOOLBARCLASSNAME,NULL,WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | CCS_NOPARENTALIGN | CCS_NODIVIDER,0,0,0,0,hwnd, (HMENU)IDC_MAIN_TOOL,GetModuleHandle(NULL),NULL);

			SendMessage(hTool,TB_BUTTONSTRUCTSIZE,(WPARAM)sizeof(TBBUTTON),0);

			TbAddBitmap.hInst = HINST_COMMCTRL;
			TbAddBitmap.nID = IDB_STD_SMALL_COLOR;
			SendMessage(hTool,TB_ADDBITMAP,0,(LPARAM)&amp;TbAddBitmap);

			ZeroMemory(TbButton, sizeof(TbButton));

			TbButton[0].iBitmap = STD_FILENEW;
			TbButton[0].fsState = TBSTATE_ENABLED;
			TbButton[0].fsStyle = TBSTYLE_BUTTON;
			TbButton[0].idCommand = ID_DATEI_NEU;

			TbButton[1].iBitmap = STD_FILEOPEN;
			TbButton[1].fsState = TBSTATE_ENABLED;
			TbButton[1].fsStyle = TBSTYLE_BUTTON;
			TbButton[1].idCommand = ID_DATEI_OEFFNEN;

			TbButton[2].iBitmap = STD_FILESAVE;
			TbButton[2].fsState = TBSTATE_ENABLED;
			TbButton[2].fsStyle = TBSTYLE_BUTTON;
			TbButton[2].idCommand = ID_DATEI_SPEICHERN;

			SendMessage(hTool,TB_ADDBUTTONS,sizeof(TbButton)/sizeof(TBBUTTON),(LPARAM)&amp;TbButton);

			Size = SendMessage(hTool,TB_GETBUTTONSIZE,0,0);

			GetWindowRect(hTool,&amp;Rc);

			//ADD TOOLBAR TO REBAR (hopefully)
			memset(&amp;RebarBandInfo, 0, sizeof(REBARBANDINFO));
			RebarBandInfo.cbSize = sizeof(REBARBANDINFO);
     		RebarBandInfo.fMask  = RBBIM_TEXT | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE | RBBIM_STYLE;
     		RebarBandInfo.fStyle = RBBS_CHILDEDGE | RBBS_FIXEDBMP | RBBS_GRIPPERALWAYS;
			RebarBandInfo.lpText = &quot;BAR1&quot;;
     		RebarBandInfo.hwndChild  = hTool;
			RebarBandInfo.cxMinChild = Rc.right - Rc.left;
     		RebarBandInfo.cyMinChild = Rc.bottom - Rc.top;
     		RebarBandInfo.cx		 = 200;

     		SendMessage(hReBar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&amp;RebarBandInfo);

			memset(&amp;RebarBandInfo, 0, sizeof(REBARBANDINFO));
			RebarBandInfo.cbSize = sizeof(REBARBANDINFO);
     		RebarBandInfo.fMask  = RBBIM_TEXT | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE | RBBIM_STYLE;
     		RebarBandInfo.fStyle = RBBS_CHILDEDGE | RBBS_FIXEDBMP | RBBS_GRIPPERALWAYS;
			RebarBandInfo.lpText = &quot;BAR2&quot;;
			RebarBandInfo.cxMinChild = Rc.right - Rc.left;
     		RebarBandInfo.cyMinChild = Rc.bottom - Rc.top;
     		RebarBandInfo.cx		 = 200;

     		SendMessage(hReBar, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&amp;RebarBandInfo);

		}
//	...
</code></pre>
<p>&lt;/schnipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547923</guid><dc:creator><![CDATA[sibby]]></dc:creator><pubDate>Tue, 15 Jul 2008 22:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to Rebar mit Toolbar funktioniert unter Vista&#x2F;Wine, aber nicht unter XP&#x2F;Win200 on Wed, 16 Jul 2008 21:01:51 GMT]]></title><description><![CDATA[<p>Hallo nochmal.</p>
<p>Anscheinend sind die common-control libs beschädigt gewesen, ich konnte den Fehler beheben indem ich die von Visual Studio mit denen von Borland ersetzt habe.</p>
<p>Eine etwas brachiale Lösung, aber sie funktioniert <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/1548526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548526</guid><dc:creator><![CDATA[sibby]]></dc:creator><pubDate>Wed, 16 Jul 2008 21:01:51 GMT</pubDate></item></channel></rss>