<?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 : Toolbar protocol isn’t implemented</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Toolkit Pro : Toolbar protocol isn’t implemented]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Tue, 21 Apr 2026 17:21:02 +0000</pubDate>
  <lastBuildDate>Wed, 06 Jul 2005 23:45: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=2501</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[Toolbar protocol isn’t implemented : Hi, glad you find solution for...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7513&amp;title=toolbar-protocol-isnt-implemented#7513</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=6851">Oleg</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 06 July 2005 at 11:45pm<br /><br /><P>Hi, glad you find solution for tooltips :)</P><P>I think in CMainFrame::OnCustomize before you call DoModal you can set </P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"> pCommandBars-&gt;GetCommandBarsOptions()-&gt;bToolBarScreenT ips = m_bToolBarScreenTips;</SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"></SPAN>&nbsp;</P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU">and after DoModal</SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"></SPAN>&nbsp;</P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU">m_bToolBarScreenTips = <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"> pCommandBars-&gt;GetCommandBarsOptions()-&gt;bToolBarScreenT ips;</SPAN></SPAN></P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"> pCommandBars-&gt;GetCommandBarsOptions()-&gt;bToolBarScreenT ips;</SPAN> = FALSE;</SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU">UpdateToolTips();</SPAN></P></SPAN>]]>
   </description>
   <pubDate>Wed, 06 Jul 2005 23:45:03 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7513&amp;title=toolbar-protocol-isnt-implemented#7513</guid>
  </item> 
  <item>
   <title><![CDATA[Toolbar protocol isn’t implemented : Oleg,  I have a related question...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7501&amp;title=toolbar-protocol-isnt-implemented#7501</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1295">Chilly32</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 06 July 2005 at 5:40am<br /><br /><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-GB><FONT face="Times New Roman" size=3>Oleg,</FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-GB><?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><O:P><FONT face="Times New Roman" size=3>&nbsp;</FONT></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-GB><FONT face="Times New Roman" size=3>I have a related question for you…</FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-GB><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-GB><FONT face="Times New Roman" size=3>You showed the following code to switch off the standard tooltips on start up:</FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: EN-US"><O:P></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: RU"> pCommandBars-&gt;GetCommandBarsOptions()-&gt;bToolBarScreenT ips = FALSE;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-: EN-US"><O:P></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><FONT size=3><FONT face="Times New Roman">This, however, doesn’t prevent the user from going into “Customize”, tab “Options” and switch the tooltips ON again.<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><FONT size=3><FONT face="Times New Roman">Is there any way to override that behavour? For instance, disable that tooltip option, or override the event of switching that option so that I can switch ON/OFF my own tooltips, and not the standard tooltips?<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><FONT size=3><FONT face="Times New Roman">Regards,</FONT></FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><FONT size=3><FONT face="Times New Roman">Vitaly Tomilov</FONT></FONT></SPAN></P><P style="MARGIN: 0cm 0cm 0pt" ="Ms&#111;normal"><SPAN lang=EN-US style="mso-ansi-: EN-US"><FONT size=3><FONT face="Times New Roman"><O:P></O:P></FONT></FONT></SPAN></P><span style="font-size:10px"><br /><br />Edited by Chilly32</span>]]>
   </description>
   <pubDate>Wed, 06 Jul 2005 05:40:32 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7501&amp;title=toolbar-protocol-isnt-implemented#7501</guid>
  </item> 
  <item>
   <title><![CDATA[Toolbar protocol isn’t implemented : Thank you Oleg,  Before you...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7500&amp;title=toolbar-protocol-isnt-implemented#7500</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1295">Chilly32</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 06 July 2005 at 5:27am<br /><br /><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><FONT face="Times New Roman" size=3>Thank you Oleg,</FONT></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face="Times New Roman" size=3>&nbsp;</FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-GB><FONT face="Times New Roman">Before you published this example I got some reply from your tech support guys just suggesting to derive and implement my own CXTPToolbar class. So I did that yesterday, and actually managed to make it work for toolbar buttons. But when I tried the same for menu items – just didn’t work. Mistakenly, I derived from CXTPMenuBar instead of CXTPPopupBar. Your code example clarified all that, thank you. And since I had already my own class written for toolbars that worked, I simply applied the same for CXTPPopupBar – and oh miracle!!! I now can see tooltips for menu items, now that’s some hi-tech stuff </FONT></SPAN><SPAN lang=EN-GB style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-: symbol; mso-symbol-font-family: Wingdings"><SPAN style="mso-char-: symbol; mso-symbol-font-family: Wingdings">J</SPAN></SPAN><SPAN lang=EN-GB><FONT face="Times New Roman"> And it looks just amazing!!! Those VXPLib tooltips in combination with XTP library is kick-ass!!! I’m sending you a screenshot of what I got:</FONT></SPAN></FONT></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><FONT face="Times New Roman" size=3><SPAN lang=EN-GB><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3><IMG src="http://forum.codejock.com/uploads/Chilly32/2005-07-06_052156_ToolbarTooltip.jpg" border="0"></FONT></o:p></SPAN></P></SPAN></FONT><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB>And for the menu items:</SPAN></FONT></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB><IMG src="uploads/Chilly32/2005-07-06_052305_MenuTooltip.JPG" border="0"></SPAN></FONT></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB>Now I would like to share the code I used for toolbars and menus, and which worked nicely for me:</SPAN></FONT></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB><table width="99%"><tr><td><pre class="BBcode"></SPAN></FONT></P><FONT face="Times New Roman" size=3><SPAN lang=EN-GB><FONT color=#0000ff size=2><P>class</FONT><FONT size=2> CXTPToolBarEx : </FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> CXTPToolBar</P><P>{</P><P>DECLARE_XTP_COMMANDBAR(CXTPToolBarEx)</P></FONT><FONT color=#0000ff size=2><P>public</FONT><FONT size=2>:</P><P>CXTPToolBarEx();</P><P></FONT><FONT color=#0000ff size=2>virtual</FONT><FONT size=2> ~CXTPToolBarEx();</P></FONT><FONT color=#0000ff size=2><P>protected</FONT><FONT size=2>:</P><P></FONT><FONT color=#008000 size=2>////////////////////////////////////////////////////////</P></FONT><FONT size=2><P></FONT><FONT color=#008000 size=2>// Toolbar messages:</P></FONT><FONT size=2><P></FONT><FONT color=#008000 size=2>//</P></FONT><FONT size=2><P>afx_msg LRESULT OnHitTest(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnButtonCount(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnGetButton(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnGetButtonInfo(WPARAM wParam, LPARAM lParam);</P><P>DECLARE_MESSAGE_MAP()</P><P></FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> GetControlState(CXTPControl * pControl);</P><P>};</P></FONT><FONT color=#0000ff size=2><P>class</FONT><FONT size=2> CXTPPopupBarEx : </FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> CXTPPopupBar</P><P>{</P><P>DECLARE_XTP_COMMANDBAR(CXTPPopupBarEx)</P></FONT><FONT color=#0000ff size=2><P>public</FONT><FONT size=2>:</P><P>CXTPPopupBarEx();</P><P></FONT><FONT color=#0000ff size=2>virtual</FONT><FONT size=2> ~CXTPPopupBarEx();</P></FONT><FONT color=#0000ff size=2><P>protected</FONT><FONT size=2>:</P><P></FONT><FONT color=#008000 size=2>////////////////////////////////////////////////////////</P></FONT><FONT size=2><P></FONT><FONT color=#008000 size=2>// Toolbar messages:</P></FONT><FONT size=2><P></FONT><FONT color=#008000 size=2>//</P></FONT><FONT size=2><P>afx_msg LRESULT OnHitTest(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnButtonCount(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnGetButton(WPARAM wParam, LPARAM lParam);</P><P>afx_msg LRESULT OnGetButtonInfo(WPARAM wParam, LPARAM lParam);</P><P>DECLARE_MESSAGE_MAP()</P><P></FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> GetControlState(CXTPControl * pControl);</P><P>};</P></FONT></SPAN></FONT><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></pre></td></tr></table></SPAN></FONT></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman" size=3><SPAN lang=EN-GB></SPAN></FONT>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3>&nbsp;And implementation:</FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3></FONT></o:p></SPAN>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3><table width="99%"><tr><td><pre class="BBcode"></FONT></o:p></SPAN></P><SPAN lang=EN-GB><o:p><FONT color=#008000 size=2><P>// CXTPToolBarEx</P></FONT><FONT size=2><P>IMPLEMENT_XTP_COMMANDBAR(CXTPToolBarEx, CXTPToolBar)</P><P>CXTPToolBarEx::CXTPToolBarEx()</P><P>{</P><P>}</P><P>CXTPToolBarEx::~CXTPToolBarEx()</P><P>{</P><P>}</P></FONT><FONT color=#0000ff size=2><P>int</FONT><FONT size=2> CXTPToolBarEx::GetControlState(CXTPControl * pControl)</P><P>{</P><P></FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> iState = pControl-&gt;GetEnabled()?TBSTATE_ENABLED:0;</P><P>iState |= pControl-&gt;GetChecked()?TBSTATE_CHECKED:0;</P><P>iState |=  (pControl-&gt;GetHideFlags()&amp;xtpNoHide)?0:TBSTATE_HIDDEN ;</P><P>iState |= pControl-&gt;GetPressed()?TBSTATE_PRESSED:0;</P><P>iState |= pControl-&gt;GetWrap()?TBSTATE_WRAP:0;</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> iState;</P><P>}</P><P>BEGIN_MESSAGE_MAP(CXTPToolBarEx, CXTPToolBar)</P><P>ON_MESSAGE(TB_HITTEST, OnHitTest)</P><P>ON_MESSAGE(TB_BUTTONCOUNT, OnButtonCount)</P><P>ON_MESSAGE(TB_GETBUTTON, OnGetButton)</P><P>ON_MESSAGE(TB_GETBUTTONINFO, OnGetButtonInfo)</P><P>END_MESSAGE_MAP()</P></FONT><FONT color=#008000 size=2><P>// CXTPToolBarEx message handlers</P></FONT><FONT size=2><P>LRESULT CXTPToolBarEx::OnHitTest(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPPOINT lpPoint = (LPPOINT)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;HitTest(CPoint(lpPoint-&gt;x, lpPoint-&gt;y));</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> pControl-&gt;GetIndex();</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> -1;</P><P>}</P><P>LRESULT CXTPToolBarEx::OnButtonCount(WPARAM wParam, LPARAM lParam)</P><P>{</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> GetControls()-&gt;GetCount();</P><P>}</P><P>LRESULT CXTPToolBarEx::OnGetButton(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPTBBUTTON lpButton = (LPTBBUTTON)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;GetAt((</FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2>)wParam);</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(!pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> FALSE;</P><P>lpButton-&gt;iBitmap = pControl-&gt;GetIndex();</P><P>lpButton-&gt;idCommand = pControl-&gt;GetID();</P><P>lpButton-&gt;fsState = GetControlState(pControl);</P><P>lpButton-&gt;dwData = pControl-&gt;GetTag();</P><P>lpButton-&gt;iString = (INT_PTR)(LPCTSTR)pControl-&gt;GetCaption();</P><P>lpButton-&gt;fsStyle = 0; </FONT><FONT color=#008000 size=2>// Unsupported;</P></FONT><FONT size=2><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> TRUE;</P><P>}</P><P>LRESULT CXTPToolBarEx::OnGetButtonInfo(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPTBBUTTONINFO lpInfo = (LPTBBUTTONINFO)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;FindControl(xtpControlButton, (</FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2>)wParam, FALSE, FALSE);</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(!pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> -1;</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(lpInfo-&gt;dwMask &amp; TBIF_STATE)</P><P>lpInfo-&gt;fsState = GetControlState(pControl);</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> pControl-&gt;GetID();</P><P>}</P></FONT><FONT color=#008000 size=2><P> //////////////////////////////////////////////////////////// /</P><P>// CXTPPopupBarEx</P></FONT><FONT size=2><P>IMPLEMENT_XTP_COMMANDBAR(CXTPPopupBarEx, CXTPPopupBar)</P><P>CXTPPopupBarEx::CXTPPopupBarEx()</P><P>{</P><P>}</P><P>CXTPPopupBarEx::~CXTPPopupBarEx()</P><P>{</P><P>}</P></FONT><FONT color=#0000ff size=2><P>int</FONT><FONT size=2> CXTPPopupBarEx::GetControlState(CXTPControl * pControl)</P><P>{</P><P></FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> iState = pControl-&gt;GetEnabled()?TBSTATE_ENABLED:0;</P><P>iState |= pControl-&gt;GetChecked()?TBSTATE_CHECKED:0;</P><P>iState |=  (pControl-&gt;GetHideFlags()&amp;xtpNoHide)?0:TBSTATE_HIDDEN ;</P><P>iState |= pControl-&gt;GetPressed()?TBSTATE_PRESSED:0;</P><P>iState |= pControl-&gt;GetWrap()?TBSTATE_WRAP:0;</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> iState;</P><P>}</P><P>BEGIN_MESSAGE_MAP(CXTPPopupBarEx, CXTPPopupBar)</P><P>ON_MESSAGE(TB_HITTEST, OnHitTest)</P><P>ON_MESSAGE(TB_BUTTONCOUNT, OnButtonCount)</P><P>ON_MESSAGE(TB_GETBUTTON, OnGetButton)</P><P>ON_MESSAGE(TB_GETBUTTONINFO, OnGetButtonInfo)</P><P>END_MESSAGE_MAP()</P></FONT><FONT color=#008000 size=2><P>// CXTPPopupBarEx message handlers</P></FONT><FONT size=2><P>LRESULT CXTPPopupBarEx::OnHitTest(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPPOINT lpPoint = (LPPOINT)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;HitTest(CPoint(lpPoint-&gt;x, lpPoint-&gt;y));</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> pControl-&gt;GetIndex();</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> -1;</P><P>}</P><P>LRESULT CXTPPopupBarEx::OnButtonCount(WPARAM wParam, LPARAM lParam)</P><P>{</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> GetControls()-&gt;GetCount();</P><P>}</P><P>LRESULT CXTPPopupBarEx::OnGetButton(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPTBBUTTON lpButton = (LPTBBUTTON)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;GetAt((</FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2>)wParam);</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(!pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> FALSE;</P><P>lpButton-&gt;iBitmap = pControl-&gt;GetIndex();</P><P>lpButton-&gt;idCommand = pControl-&gt;GetID();</P><P>lpButton-&gt;fsState = GetControlState(pControl);</P><P>lpButton-&gt;dwData = pControl-&gt;GetTag();</P><P>lpButton-&gt;iString = (INT_PTR)(LPCTSTR)pControl-&gt;GetCaption();</P><P>lpButton-&gt;fsStyle = 0; </FONT><FONT color=#008000 size=2>// Unsupported;</P></FONT><FONT size=2><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> TRUE;</P><P>}</P><P>LRESULT CXTPPopupBarEx::OnGetButtonInfo(WPARAM wParam, LPARAM lParam)</P><P>{</P><P>LPTBBUTTONINFO lpInfo = (LPTBBUTTONINFO)lParam;</P><P>CXTPControl * pControl = GetControls()-&gt;FindControl(xtpControlButton, (</FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2>)wParam, FALSE, FALSE);</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(!pControl)</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> -1;</P><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2>(lpInfo-&gt;dwMask &amp; TBIF_STATE)</P><P>lpInfo-&gt;fsState = GetControlState(pControl);</P><P></FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> pControl-&gt;GetID();</P><P>}</P></FONT></o:p></SPAN><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3></pre></td></tr></table></FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3></FONT></o:p></SPAN>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3>I hope it will be just as useful to somebody else who decides to use custom tooltips like VXPLib in their projects <IMG src="http://forum.codejock.com/smileys/smiley1.gif" border="0"></FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3></FONT></o:p></SPAN>&nbsp;</P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3>Regards,</FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3>Vitaly Tomilov</FONT></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB><o:p><FONT face="Times New Roman" size=3></FONT></o:p></SPAN>&nbsp;</P>]]>
   </description>
   <pubDate>Wed, 06 Jul 2005 05:27:07 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7500&amp;title=toolbar-protocol-isnt-implemented#7500</guid>
  </item> 
  <item>
   <title><![CDATA[Toolbar protocol isn’t implemented : 2005-07-06_014247_VXPMenus.zip See...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7495&amp;title=toolbar-protocol-isnt-implemented#7495</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=6851">Oleg</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 06 July 2005 at 1:44am<br /><br /><P><A href="http://forum.codejock.com/uploads/oleg/2005-07-06_014247_VXPMenus.zip" target="_blank">2005-07-06_014247_VXPMenus.zip</A></P><P>See attched sample how to use CommandBars and Tooltips</P>]]>
   </description>
   <pubDate>Wed, 06 Jul 2005 01:44:00 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7495&amp;title=toolbar-protocol-isnt-implemented#7495</guid>
  </item> 
  <item>
   <title><![CDATA[Toolbar protocol isn’t implemented : To put it simply, your toolbars...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7447&amp;title=toolbar-protocol-isnt-implemented#7447</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1295">Chilly32</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 04 July 2005 at 4:39am<br /><br /><P>To put it simply, your toolbars must implement TB_HITTEST and TB_GETBUTTON, or they become unusable for other components, i.e. cannot be recognized as toolbars, and hence cannot be integrated with other software bits. And if your menus are also toolbars - them too.</P><P>I think you must implement those, which shouldn't be a big deal for you, but would make a world of difference for us, as we are stuck now with this issue: too much effort has been put in documenting our software via those tooltips, and now they don't work.</P><P>&nbsp;</P><P>&nbsp;</P><span style="font-size:10px"><br /><br />Edited by Chilly32</span>]]>
   </description>
   <pubDate>Mon, 04 Jul 2005 04:39:50 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7447&amp;title=toolbar-protocol-isnt-implemented#7447</guid>
  </item> 
  <item>
   <title><![CDATA[Toolbar protocol isn’t implemented : G&#8217;Day,  I have a question about...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7417&amp;title=toolbar-protocol-isnt-implemented#7417</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=1295">Chilly32</a><br /><strong>Subject:</strong> 2501<br /><strong>Posted:</strong> 03 July 2005 at 12:21pm<br /><br /><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">G’Day,<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">I have a question about tooltips support in your library.<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT face="Times New Roman" size=3>Before we bought your library, we were using a tooltips component from </FONT><A href="http://www.tooltips.net/" target="_blank"><FONT face="Times New Roman" color=#0000ff size=3>www.tooltips.net</FONT></A><FONT size=3><FONT face="Times New Roman">, which provided very colourful and descriptive tooltips. We used it via Command ID-s for menus commands and toolbar commands.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>That tooltip component supported both standard menu and toolbar classes and custom ones, I could call AddToolbarClass or AddMenuClass to recognize derived objects correctly. Now as I added XTP menus and toolbars – it all stopped working. It seems that not only you override toolbars and menus with your own classes, but you also do not implement corresponding protocols. For instance, all toolbar classes are supposed to implement such messages as TB_HITTEST and TB_GETBUTTON (see in MSDN).<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">Code example:<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3><table width="99%"><tr><td><pre class="BBcode">&nbsp;</FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">LPPOINT pt;<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">int iButtonIndex = ::SendMessage(hToolbarWnd, TB_HITTEST, 0, (long)pt);<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">TBBUTTON info;<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">::SendMessage(hToolbarWnd, TB_GETBUTTON, iButtonIndex, (long)&amp;info);<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></pre></td></tr></table>&nbsp;</FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">Now, that code doesn’t work for your toolbars at all, and hence we cannot see any tooltips for that matter.<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">And since your library doesn’t offer anything like those tooltips, please advice us how we should get around this problem.<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><FONT size=3><FONT face="Times New Roman">Thank you,<O:P></O:P></FONT></FONT></SPAN></P><P style="MARGIN: 0in 0in 0pt" ="Ms&#111;normal"><SPAN lang=EN-IE style="mso-ansi-: EN-IE"><O:P><FONT face="Times New Roman" size=3></FONT></O:P></SPAN></P><span style="font-size:10px"><br /><br />Edited by Chilly32</span>]]>
   </description>
   <pubDate>Sun, 03 Jul 2005 12:21:04 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=2501&amp;PID=7417&amp;title=toolbar-protocol-isnt-implemented#7417</guid>
  </item> 
 </channel>
</rss>