<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Codejock Developer Community : QuickAccessToolbar Save and  Load [Solved]</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Command Bars : QuickAccessToolbar Save and  Load [Solved]]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Wed, 13 May 2026 07:37:19 +0000</pubDate>
  <lastBuildDate>Sat, 30 Jul 2022 07:39:03 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.codejock.com/RSS_post_feed.asp?TID=24308</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Codejock Developer Community]]></title>
   <url>http://forum.codejock.com/forum_images/codejock-logo.gif</url>
   <link>http://forum.codejock.com/</link>
  </image>
  <item>
   <title><![CDATA[QuickAccessToolbar Save and  Load [Solved] : A question, why would you need...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78500&amp;title=quickaccesstoolbar-save-and-load-solved#78500</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1263">Fredrik</a><br /><strong>Subject:</strong> 24308<br /><strong>Posted:</strong> 30 July 2022 at 7:39am<br /><br />A question, why would you need to load/save Quick Access controls using separate functions?&nbsp;<br><br>I just create the ribbon bar including the QAT, and then call&nbsp;LoadCommandBars(L"MySection", TRUE); and all previous customizations are then loaded.<br><br><br>]]>
   </description>
   <pubDate>Sat, 30 Jul 2022 07:39:03 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78500&amp;title=quickaccesstoolbar-save-and-load-solved#78500</guid>
  </item> 
  <item>
   <title><![CDATA[QuickAccessToolbar Save and  Load [Solved] : Maybe a good idea to add these...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78496&amp;title=quickaccesstoolbar-save-and-load-solved#78496</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=686">cpede</a><br /><strong>Subject:</strong> 24308<br /><strong>Posted:</strong> 29 July 2022 at 2:56am<br /><br /><div>Maybe a good idea to add these methods to the Codejock Ribbon MDI Sample for others to use??</div><div><br></div><table width="99%"><tr><td><pre class="BBcode"><div><div>void CMainFrame::LoadQuickAccessControls()</div><div>{</div><div>&nbsp; CXTPRibbonBar* pRibbonBar = DYNAMIC_DOWNCAST(CXTPRibbonBar,&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GetCommandBars()-&gt;GetMenuBar());</div><div>&nbsp; if (pRibbonBar == NULL) return;</div><div>&nbsp; CXTPRibbonQuickAccessControls *pQA = pRibbonBar-&gt;GetQuickAccessControls();</div><div>&nbsp; if (pQA == NULL) return;</div><div><br></div><div>&nbsp; XTP_COMMANDBARS_PROPEXCHANGE_PARAM param;</div><div>&nbsp; param.pCommandBars = GetCommandBars();</div><div>&nbsp; param.bSaveOnlyCustomized = FALSE;</div><div>&nbsp; param.bLoadSilent = TRUE;</div><div>&nbsp; param.bSaveOriginalControls = TRUE;</div><div>&nbsp; param.bSerializeActions = TRUE;</div><div>&nbsp; param.bSerializeControls = TRUE;</div><div>&nbsp; param.bSerializeDesignerControls = TRUE;</div><div>&nbsp; param.bSerializeImages = FALSE;</div><div>&nbsp; param.bSerializeLayout = TRUE;</div><div>&nbsp; param.bSerializeOptions = TRUE;</div><div><br></div><div>&nbsp; HKEY hKey = NULL;</div><div>&nbsp; if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Codejock Software Sample Applications</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\Codejock Ribbon MDI Sample"), 0, KEY_READ, &amp;hKey) != ERROR_SUCCESS)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; pRibbonBar-&gt;GetQuickAccessControls()-&gt;Reset();</div><div>&nbsp; &nbsp; return;</div><div>&nbsp; }</div><div>&nbsp; ::RegCloseKey(hKey);</div><div><br></div><div>&nbsp; if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Codejock Software Sample Applications</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\Codejock Ribbon MDI Sample"), 0, KEY_READ, &amp;hKey) != ERROR_SUCCESS)</div><div>&nbsp; &nbsp; return;</div><div><br></div><div>&nbsp; pRibbonBar-&gt;GetQuickAccessControls()-&gt;RemoveAll();</div><div><br></div><div>&nbsp; CXTPPropExchangeRegistry px(TRUE, hKey, _T("QuickAccessLayout"));</div><div>&nbsp; px.m_dwData = DWORD_PTR(&amp;param);</div><div>&nbsp; pQA-&gt;DoPropExchange(&amp;px);</div><div>&nbsp; ::RegCloseKey(hKey);</div><div>}</div><div>void CMainFrame::SaveQuickAccessControls()</div><div>{</div><div>&nbsp; CXTPRibbonBar* pRibbonBar = DYNAMIC_DOWNCAST(CXTPRibbonBar,&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GetCommandBars()-&gt;GetMenuBar());</div><div>&nbsp; if (pRibbonBar == NULL) return;</div><div>&nbsp; CXTPRibbonQuickAccessControls *pQA = pRibbonBar-&gt;GetQuickAccessControls();</div><div>&nbsp; if (pQA == NULL) return;</div><div><br></div><div>&nbsp; XTP_COMMANDBARS_PROPEXCHANGE_PARAM param;</div><div>&nbsp; param.pCommandBars = NULL;// GetCommandBars();</div><div>&nbsp; param.bSaveOnlyCustomized = FALSE;</div><div>&nbsp; param.bLoadSilent = TRUE;</div><div>&nbsp; param.bSaveOriginalControls = FALSE;</div><div>&nbsp; param.bSerializeActions = TRUE;</div><div>&nbsp; param.bSerializeControls = TRUE;</div><div>&nbsp; param.bSerializeDesignerControls = TRUE;</div><div>&nbsp; param.bSerializeImages = FALSE;</div><div>&nbsp; param.bSerializeLayout = TRUE;</div><div>&nbsp; param.bSerializeOptions = TRUE;</div><div><br></div><div>&nbsp; HKEY hKey = NULL;</div><div>&nbsp; if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Codejock Software Sample Applications</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\Codejock Ribbon MDI Sample"), 0, KEY_WRITE, &amp;hKey) != ERROR_SUCCESS)</div><div>&nbsp; &nbsp; return;</div><div>&nbsp; CXTPPropExchangeRegistry px(FALSE, hKey, _T("QuickAccessLayout"));</div><div>&nbsp; px.m_dwData = DWORD_PTR(&amp;param);</div><div>&nbsp; pQA-&gt;DoPropExchange(&amp;px);</div><div>&nbsp; ::RegCloseKey(hKey);</div><div>}&nbsp;&nbsp;</div></div><div></pre></td></tr></table></div>]]>
   </description>
   <pubDate>Fri, 29 Jul 2022 02:56:09 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78496&amp;title=quickaccesstoolbar-save-and-load-solved#78496</guid>
  </item> 
  <item>
   <title><![CDATA[QuickAccessToolbar Save and  Load [Solved] : I can&amp;#039;t find any examples...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78487&amp;title=quickaccesstoolbar-save-and-load-solved#78487</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=686">cpede</a><br /><strong>Subject:</strong> 24308<br /><strong>Posted:</strong> 20 July 2022 at 5:10am<br /><br />I can't find any examples on how to save and load the controls in the QuickAccessToolbar.<div><br></div><div>I managed to save and load the using the code below.</div><div><br></div><div>Right after adding a new control to the QuickAccessToolbar using the&nbsp;CXTPRibbonCustomizeQuickAccessPage everyting works.</div><div><br></div><div>The problem is that after saving and loading the QuickAccesControls they appear correct in the QuickAccessToolbar, but the controls are not working?</div><div><br></div><div><table width="99%"><tr><td><pre class="BBcode"></div><div><div><font size="1">void CMainWindow::LoadQuickAccessControls()</font></div><div><font size="1">{</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPRibbonBar* pRibbonBar = DYNAMIC_DOWNCAST(CXTPRibbonBar, GetCommandBars()-&gt;GetMenuBar());</font></div><div><font size="1"><span style="white-space:pre">	</span>if (pRibbonBar == NULL) return;</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPRibbonQuickAccessControls *pQA = pRibbonBar-&gt;GetQuickAccessControls();</font></div><div><font size="1"><span style="white-space:pre">	</span>if (pQA == NULL) return;</font></div><div><font size="1"><span style="white-space:pre">	</span>XTP_COMMANDBARS_PROPEXCHANGE_PARAM param;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.pCommandBars = GetCommandBars();</font></div><div><font size="1"><span style="white-space: pre;">	</span>param.bSaveOriginalControls = FALSE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeControls = TRUE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeActions = TRUE;</font></div><div><font size="1"><span style="white-space: pre;">	</span>param.bSerializeLayout = FALSE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeOptions = FALSE;</font></div><div><font size="1"><br></font></div><div><font size="1"><span style="white-space:pre">	</span>HKEY hKey = NULL;</font></div><div><font size="1"><span style="white-space: pre;">	</span>if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\My Company\\My App"), 0, KEY_READ, &amp;hKey) != ERROR_SUCCESS)</font></div><div><font size="1"><span style="white-space: pre;">		</span>return;</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPPropExchangeRegistry px(TRUE, hKey, _T("QuickAccessLayout"));</font></div><div><font size="1"><span style="white-space:pre">	</span>px.m_dwData = DWORD_PTR(&amp;param);</font></div><div><font size="1"><span style="white-space:pre">	</span>pQA-&gt;DoPropExchange(&amp;px);</font></div><div><font size="1"><span style="white-space:pre">	</span>::RegCloseKey(hKey);</font></div><div><font size="1">}</font></div><div><font size="1">void CMainWindow::SaveQuickAccessControls()</font></div><div><font size="1">{</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPRibbonBar* pRibbonBar = DYNAMIC_DOWNCAST(CXTPRibbonBar, GetCommandBars()-&gt;GetMenuBar());</font></div><div><font size="1"><span style="white-space:pre">	</span>if (pRibbonBar == NULL) return;</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPRibbonQuickAccessControls *pQA = pRibbonBar-&gt;GetQuickAccessControls();</font></div><div><font size="1"><span style="white-space:pre">	</span>if (pQA == NULL) return;</font></div><div><font size="1"><span style="white-space:pre">	</span>XTP_COMMANDBARS_PROPEXCHANGE_PARAM param;</font></div><div><font size="1"><span style="white-space: pre;">	</span>param.bSaveOriginalControls = FALSE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeControls = TRUE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeActions = TRUE;</font></div><div><font size="1"><span style="white-space: pre;">	</span>param.bSerializeLayout = FALSE;</font></div><div><font size="1"><span style="white-space:pre">	</span>param.bSerializeOptions = FALSE;</font></div><div><font size="1"><br></font></div><div><font size="1"><span style="white-space:pre">	</span>HKEY hKey = NULL;</font></div><div><font size="1"><span style="white-space: pre;">	</span>if (::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\My Company\\My App"), 0, KEY_WRITE, &amp;hKey) != ERROR_SUCCESS)</font></div><div><font size="1"><span style="white-space: pre;">		</span>return;</font></div><div><font size="1"><span style="white-space:pre">	</span>CXTPPropExchangeRegistry px(FALSE, hKey, _T("QuickAccessLayout"));</font></div><div><font size="1"><span style="white-space:pre">	</span>px.m_dwData = DWORD_PTR(&amp;param);</font></div><div><font size="1"><span style="white-space:pre">	</span>pQA-&gt;DoPropExchange(&amp;px);</font></div><div><font size="1"><span style="white-space:pre">	</span>::RegCloseKey(hKey);</font></div><div><font size="1">}</font></div></div><div></pre></td></tr></table></div><div><br></div><div>This fails:</div><div>XTPCommandBar.cpp line 653:</div><div><font face="Courier New, Courier, mono">if (!pControl-&gt;OnSetPopup(TRUE))</font></div><div><br></div><div>Since m_pCommandBar is NULL in XTPControlPopup.cpp line 295:</div><div><font face="Courier New, Courier, mono">if (!m_pCommandBar)</font></div><div><br></div><div>Please help.</div>]]>
   </description>
   <pubDate>Wed, 20 Jul 2022 05:10:23 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24308&amp;PID=78487&amp;title=quickaccesstoolbar-save-and-load-solved#78487</guid>
  </item> 
 </channel>
</rss>