<?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 : right mouse menu is gone in an item</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Property Grid : right mouse menu is gone in an item]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Sun, 19 Apr 2026 17:53:22 +0000</pubDate>
  <lastBuildDate>Fri, 21 Aug 2009 05:49:06 +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=15017</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[right mouse menu is gone in an item : Hi,  Please attach whole sample...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=15017&amp;PID=52280&amp;title=right-mouse-menu-is-gone-in-an-item#52280</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=6851">Oleg</a><br /><strong>Subject:</strong> 15017<br /><strong>Posted:</strong> 21 August 2009 at 5:49am<br /><br />Hi,<DIV>&nbsp;</DIV><DIV>Please attach whole sample code&nbsp;that can be debug. </DIV>]]>
   </description>
   <pubDate>Fri, 21 Aug 2009 05:49:06 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=15017&amp;PID=52280&amp;title=right-mouse-menu-is-gone-in-an-item#52280</guid>
  </item> 
  <item>
   <title><![CDATA[right mouse menu is gone in an item : hi everybody, i&amp;#039;m a Chinese...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=15017&amp;PID=52238&amp;title=right-mouse-menu-is-gone-in-an-item#52238</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=5482">rienzi</a><br /><strong>Subject:</strong> 15017<br /><strong>Posted:</strong> 20 August 2009 at 6:32am<br /><br />hi everybody, i'm a Chinese software developer, please help me<br /><br />i established a SDI project in VC2005 and used XTToolkitPro.h in it<br />i use task panel and Tab View in my application,<br />the main user interface contains two vertical splitter in it. The two splitter divides the View into three parts. Task panel is in the left part, tab views in the middle and the right parts contains an wmp control. i think you can imagine the layout of my user interface<br /><br />in one of the Tab Views i add a CXTPPropertyGrid in it as how the sample shows me and then i adds CXTPPropertyGridItems in this control<br />all the views are inherited from CFormView class<br /><br />the propertygrid control works well except one problem:<br />the right mouse button diappears when i right click on an selected propertygrid item <br />and i can not select the whole text in my propertygrid item with my mouse by clicking and dragging mouse as usual<br /><br />i think it is a big problem because clients have to use right button menu in an edit control and i don't know how to solve this problem<br /><br />i established another SDI application without tab views and task panel and splitter, the right mouse button works weill as i expect. This proves that my XTToolkitPro library runs normally<br /><br /><br /><br />here is all of my codes in the formview which contains my propertygrid control, please forget all the Chinese characters below<br /><br /><br />//ProductView.h<br /><br />#pragma once<br />#include "afxwin.h"<br /><br />class CProductView : public CFormView<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_DYNCREATE(CProductView)<br /><br />protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CProductView();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &#21160;&#24577;&#21019;&#24314;&#25152;&#20351;&#29992;&#30340;&#21463;&#20445;&#25252;&#30340;&#26500;&#36896;&#20989;&#25968;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual ~CProductView();<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enum { IDD = IDD_PRODUCT_VIEW };<br />#ifdef _DEBUG<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void AssertValid() const;<br />#ifndef _WIN32_WCE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void Dump(CDumpContext& dc) const;<br />#endif<br />#endif<br /><br />protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void DoDataExchange(CDataExchange* pDX);&nbsp;&nbsp;&nbsp;&nbsp;// DDX/DDV &#25903;&#25345;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg LRESULT OnGridNotify(WPARAM, LPARAM);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CStatic m_wndPlaceHolder;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnInitialUpdate();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGrid m_wndPropertyGrid;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg void OnSize(UINT nType, int cx, int cy);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typedef void (CXTPPropertyGridItem::*ITEMFUNCTIONPTR)();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void _DoCollapseExpand(CXTPPropertyGridItems* pItems, ITEMFUNCTIONPTR pFunction);<br />};<br /><br /><br />// ProductView.cpp<br />//<br /><br />#include "stdafx.h"<br />#include "AdksProductSys.h"<br />#include "ProductView.h"<br /><br />// CProductView<br /><br />IMPLEMENT_DYNCREATE(CProductView, CFormView)<br /><br />CProductView::CProductView()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: CFormView(CProductView::IDD)<br />{<br /><br />}<br /><br />CProductView::~CProductView()<br />{<br />}<br /><br />void CProductView::DoDataExchange(CDataExchange* pDX)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFormView::DoDataExchange(pDX);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DDX_Control(pDX, IDC_PLACEHOLDER, m_wndPlaceHolder);<br />}<br /><br />BEGIN_MESSAGE_MAP(CProductView, CFormView)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_SIZE()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_MESSAGE(XTPWM_PROPERTYGRID_NOTIFY, OnGridNotify)<br />END_MESSAGE_MAP()<br /><br /><br />// CProductView &#35786;&#26029;<br /><br />#ifdef _DEBUG<br />void CProductView::AssertValid() const<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFormView::AssertValid();<br />}<br /><br />#ifndef _WIN32_WCE<br />void CProductView::Dump(CDumpContext& dc) const<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFormView::Dump(dc);<br />}<br />#endif<br />#endif //_DEBUG<br /><br /><br />// CProductView &#28040;&#24687;&#22788;&#29702;&#31243;&#24207;<br />void CProductView::_DoCollapseExpand(CXTPPropertyGridItems* pItems, ITEMFUNCTIONPTR pFunction)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; pItems-&gt;GetCount(); i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pItem = pItems-&gt;GetAt(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (pItem-&gt;HasChilds())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(pItem-&gt;*pFunction)();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_DoCollapseExpand(pItem-&gt;GetChilds(), pFunction);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void CProductView::OnInitialUpdate()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFormView::OnInitialUpdate();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#28155;&#21152;&#19987;&#29992;&#20195;&#30721;&#21644;/&#25110;&#35843;&#29992;&#22522;&#31867;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rcClient;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&rcClient);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#23558;&#23646;&#24615;&#25511;&#20214;&#35774;&#32622;&#20026;&#19982;&#35270;&#22270;&#19968;&#26679;&#23485;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rc;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPlaceHolder.GetWindowRect(&rc);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ScreenToClient(&rc);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rc.right=rcClient.right;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPlaceHolder.MoveWindow(0,0,rc.Width(),rc.Height());<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#23383;&#20307;&#35774;&#32622;&#20026;&#21407;&#26469;&#30340;1.5&#20493;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOGFONT lfIcon;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VERIFY( ::SystemParametersInfo( SPI_GETICONTITLELOGFONT, sizeof( lfIcon ), &lfIcon, 0 ) );<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lfIcon.lfHeight *= 1.5;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFont fntNormal;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fntNormal.CreateFontIndirect(&lfIcon );<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPropertyGrid.SetFont(&fntNormal);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#20801;&#35768;&#20351;&#29992;Tab&#38190;&#36873;&#25321;&#36873;&#39033;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPropertyGrid.NavigateItems(TRUE);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(m_wndPropertyGrid.Create(rc,this,IDC_PROPERTY_GRID))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPropertyGrid.SetVariableItemsHeight(TRUE);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem *pFundamentals=m_wndPropertyGrid.AddCategory(_T("&#22522;&#26412;&#20449;&#24687;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPropertyGrid.SetTheme(xtpGridThemeOffice2003);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;SetTooltip(_T("&#20462;&#25913;&#20135;&#21697;&#22522;&#26412;&#20449;&#24687;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;SetDescription(_T("&#25353;Tab&#38190;&#36880;&#34892;&#20462;&#25913;&#20135;&#21697;&#22522;&#26412;&#20449;&#24687;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COleDateTime dates;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dates=COleDateTime::GetCurrentTime();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItemDate* pCreateDate=(CXTPPropertyGridItemDate*)pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItemDate(_T("&#25968;&#25454;&#20135;&#29983;&#26102;&#38388;"),dates));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItemDate* pModifyDate=(CXTPPropertyGridItemDate*)pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItemDate(_T("&#26368;&#21518;&#26356;&#25913;&#26102;&#38388;"),dates));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCreateDate-&gt;SetDescription(_T("&#26085;&#26399;&#26684;&#24335;&#65306; &#26085;/&#26376;/&#24180;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pModifyDate-&gt;SetDescription(_T("&#26085;&#26399;&#26684;&#24335;&#65306; &#26085;/&#26376;/&#24180;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pItem=pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("ISRC&#21495;")));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("ISBN&#21495;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#26465;&#30721;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#20135;&#21697;&#21517;&#31216;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#31995;&#21015;&#21517;&#31216;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItemDouble(_T("&#23450;&#20215;")));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem *pPublish=m_wndPropertyGrid.AddCategory(_T("&#20986;&#29256;&#20449;&#24687;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPublish-&gt;SetTooltip(_T("&#20462;&#25913;&#20135;&#21697;&#20986;&#29256;&#20449;&#24687;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPublish-&gt;SetDescription(_T("&#25353;Tab&#38190;&#36880;&#34892;&#20462;&#25913;&#20135;&#21697;&#20986;&#29256;&#20449;&#24687;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFundamentals-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#20986;&#29256;&#21333;&#20301;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItemDate* pFirstVersionDate=(CXTPPropertyGridItemDate*)pPublish-&gt;AddChildItem(new CXTPPropertyGridItemDate(_T("&#39318;&#29256;&#24180;&#26376;"),dates));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItemDate* pCurrentVersionDate=(CXTPPropertyGridItemDate*)pPublish-&gt;AddChildItem(new CXTPPropertyGridItemDate(_T("&#26412;&#29256;&#24180;&#26376;"),dates));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFirstVersionDate-&gt;SetDescription(_T("&#26085;&#26399;&#26684;&#24335;&#65306; &#26085;/&#26376;/&#24180;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCurrentVersionDate-&gt;SetDescription(_T("&#26085;&#26399;&#26684;&#24335;&#65306; &#26085;/&#26376;/&#24180;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPublish-&gt;AddChildItem(new CXTPPropertyGridItemNumber(_T("&#21457;&#34892;&#25968;&#37327;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPublish-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#20986;&#29256;&#22320;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPublish-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#35013;&#24103;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pCategory1=pPublish-&gt;AddChildItem(new CXTPPropertyGridItemEnum(_T("&#20013;&#22270;&#20998;&#31867;&#27861;"),0));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory1-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;1"),0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory1-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;2"),1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory1-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;3"),2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pCategory2=pPublish-&gt;AddChildItem(new CXTPPropertyGridItemEnum(_T("&#38144;&#21806;&#20998;&#31867;&#27861;"),0));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory2-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;1"),0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory2-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;2"),1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory2-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;3"),2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pCategory3=pPublish-&gt;AddChildItem(new CXTPPropertyGridItemEnum(_T("&#33258;&#36523;&#20998;&#31867;&#27861;"),0));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory3-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;1"),0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory3-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;2"),1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCategory3-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20998;&#31867;3"),2);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem *pContent=m_wndPropertyGrid.AddCategory(_T("&#20154;&#21592;&#21644;&#20869;&#23481;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pContent-&gt;SetTooltip(_T("&#20462;&#25913;&#20135;&#21697;&#30456;&#20851;&#20154;&#21592;&#21644;&#20869;&#23481;&#20449;&#24687;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pContent-&gt;SetDescription(_T("&#25353;Tab&#38190;&#36880;&#34892;&#20462;&#25913;&#30456;&#20851;&#20154;&#21592;&#21644;&#20869;&#23481;&#20449;&#24687;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pContent-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#20027;&#39064;&#35789;")));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pPersonnel=pContent-&gt;AddChildItem(new CXTPPropertyGridItemCategory(_T("&#30456;&#20851;&#20154;&#21592;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPersonnel-&gt;SetID(XTP_ID_PROPERTYGRID_PERSONNEL);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPersonnel-&gt;SetTooltip(_T("&#20462;&#25913;&#20135;&#21697;&#30456;&#20851;&#20154;&#21592;&#20449;&#24687;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem=pPersonnel-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#36523;&#20221;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;SetDescription(_T("&#32534;&#36753;&#30456;&#20851;&#20154;&#21592;&#30340;&#36523;&#20221;,&#28857;&#20987;&#25353;&#38062;&#28155;&#21152;&#30456;&#20851;&#20154;&#21592;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;SetID(510);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;SetFlags(xtpGridItemHasEdit | xtpGridItemHasComboButton);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;GetConstraints()-&gt;AddConstraint(_T("&#20316;&#32773;"),0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;GetConstraints()-&gt;AddConstraint(_T("&#28436;&#35762;&#32773;"),1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem-&gt;GetConstraints()-&gt;AddConstraint(_T("&#23548;&#28436;"),2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridInplaceButton* pButton=pItem-&gt;GetInplaceButtons()-&gt;AddButton(new CXTPPropertyGridInplaceButton(1));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pButton-&gt;SetCaption(_T("&#28155;&#21152;&#30456;&#20851;&#20154;&#21592;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pAbstract=pContent-&gt;AddChildItem(new CXTPPropertyGridItem(_T("&#20869;&#23481;&#25688;&#35201;")));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pAbstract-&gt;SetMultiLinesCount(4);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pAbstract-&gt;SetEditStyle(ES_MULTILINE | ES_AUTOVSCROLL);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pAbstract-&gt;SetDescription(_T("&#32534;&#36753;&#20869;&#23481;&#25688;&#35201;"));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_DoCollapseExpand(m_wndPropertyGrid.GetCategories(),&CXTPPropertyGridItem::Expand);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void CProductView::OnSize(UINT nType, int cx, int cy)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFormView::OnSize(nType, cx, cy);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#22788;&#28155;&#21152;&#28040;&#24687;&#22788;&#29702;&#31243;&#24207;&#20195;&#30721;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(IsWindow(m_wndPlaceHolder.m_hWnd))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPlaceHolder.MoveWindow(0,0,cx,500,FALSE);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(IsWindow(m_wndPropertyGrid.m_hWnd))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndPropertyGrid.MoveWindow(0,0,cx,500,FALSE);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br />LRESULT CProductView::OnGridNotify(WPARAM wParam, LPARAM lParam)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(wParam == XTP_PGN_INPLACEBUTTONDOWN)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridInplaceButton* pButton = (CXTPPropertyGridInplaceButton*)lParam;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pButton-&gt;GetItem()-&gt;GetID() == 510 && pButton-&gt;GetID() == 1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Item&#30340;ID=510&#26159;"&#36523;&#20221;"&#39033;&#30340;ID, &#25353;&#38062;ID=1&#26159;"&#28155;&#21152;&#30456;&#20851;&#20154;&#21592;"&#25353;&#38062;&#30340;ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString Status=pButton-&gt;GetItem()-&gt;GetValue();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(Status==_T(""))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(_T("&#35831;&#22635;&#20889;&#30456;&#20851;&#20154;&#21592;&#36523;&#20221;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pItem=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pItem=m_wndPropertyGrid.FindItem(XTP_ID_PROPERTYGRID_PERSONNEL);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pItem)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridItem* pAddedPersonnel=pItem-&gt;AddChildItem(new CXTPPropertyGridItem(Status));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pAddedPersonnel-&gt;SetID(520);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Item&#30340;ID=520&#26159;&#28155;&#21152;&#21518;&#30340;&#30456;&#20851;&#20154;&#21592;&#39033;&#30340;ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pAddedPersonnel-&gt;SetDescription(_T("&#32534;&#36753;&#22995;&#21517;,&#28857;&#20987;&#21024;&#38500;&#25353;&#38062;&#21024;&#38500;&#27492;&#39033;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPropertyGridInplaceButton* pButton=pAddedPersonnel-&gt;GetInplaceButtons()-&gt;AddButton(new CXTPPropertyGridInplaceButton(2));&nbsp;&nbsp;&nbsp;//&#25353;&#38062;ID=2&#26159;&#28155;&#21152;&#21518;&#30340;&#30456;&#20851;&#20154;&#21592;&#39033;&#30340;ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pButton-&gt;SetCaption(_T("&#21024;&#38500;"));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pButton-&gt;GetItem()-&gt;GetID() == 520 && pButton-&gt;GetID() ==2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pButton-&gt;GetItem()-&gt;Remove();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />}<br /><br /><br /><br /><br />and here is the codes of CMainFrame class object<br /><br /><br />// MainFrm.h<br />//<br /><br /><br />#pragma once<br /><br />class CMainFrame : public CXTPFrameWnd<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />protected: // &#20165;&#20174;&#24207;&#21015;&#21270;&#21019;&#24314;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CMainFrame();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_DYNCREATE(CMainFrame)<br /><br />// &#23646;&#24615;<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTSplitterWndEx m_wndSplitter;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanel m_wndTaskPanel;<br /><br />// &#25805;&#20316;<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL CreateTaskPanel();<br /><br />// &#37325;&#20889;<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL PreCreateWindow(CREATESTRUCT& cs);<br /><br />// &#23454;&#29616;<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual ~CMainFrame();<br />#ifdef _DEBUG<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void AssertValid() const;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual void Dump(CDumpContext& dc) const;<br />#endif<br /><br />protected:  // &#25511;&#20214;&#26465;&#23884;&#20837;&#25104;&#21592;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPStatusBar  m_wndStatusBar;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//CToolBar&nbsp;&nbsp;&nbsp;&nbsp;m_wndToolBar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#19981;&#29992;MFC&#30340;&#29366;&#24577;&#26465;,&#22240;&#27492;&#23558;&#23427;&#27880;&#37322;&#25481;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void CreateTaskPanelItems();<br /><br />// &#29983;&#25104;&#30340;&#28040;&#24687;&#26144;&#23556;&#20989;&#25968;<br />protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg void OnCustomize();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg void OnUpdateCustomize(CCmdUI *pCmdUI);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg LRESULT OnTaskPanelNotify(WPARAM wParam,LPARAM lParam);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afx_msg void OnClose();<br />protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);<br />};<br /><br /><br />// MainFrm.cpp<br />//<br /><br />#include "stdafx.h"<br />#include "AdksProductSys.h"<br /><br />#include "MainFrm.h"<br />#include "VideoPlayerView.h"<br /><br />#ifdef _DEBUG<br />#define new DEBUG_NEW<br />#endif<br /><br /><br />// CMainFrame<br /><br />IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)<br /><br />BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_CREATE()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_COMMAND(XTP_ID_CUSTOMIZE,OnCustomize)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_UPDATE_COMMAND_UI(XTP_ID_CUSTOMIZE,OnUpdateCustomize)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_CLOSE()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON_MESSAGE(XTPWM_TASKPANEL_NOTIFY,OnTaskPanelNotify)<br /><br />END_MESSAGE_MAP()<br /><br />static UINT indicators&#091;&#093; =<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID_SEPARATOR,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &#29366;&#24577;&#34892;&#25351;&#31034;&#22120;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_CAPS,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_NUM,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_SCRL,<br />};<br /><br /><br />// CMainFrame &#26500;&#36896;/&#26512;&#26500;<br /><br />CMainFrame::CMainFrame()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#28155;&#21152;&#25104;&#21592;&#21021;&#22987;&#21270;&#20195;&#30721;<br />}<br /><br />CMainFrame::~CMainFrame()<br />{<br />}<br /><br /><br />int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (CFrameWnd::OnCreate(lpCreateStruct) == -1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#21019;&#24314;&#29366;&#24577;&#26465;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#27880;&#24847;:&#25152;&#26377;&#25511;&#21046;&#26465;&#21253;&#25324;&#29366;&#24577;&#26465;&#37117;&#24517;&#39035;&#22312;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#21629;&#20196;&#26465;&#20197;&#21069;&#21019;&#24314;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndStatusBar.Create(this) ||<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndStatusBar.SetIndicators(indicators,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  sizeof(indicators)/sizeof(UINT)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#26410;&#33021;&#21019;&#24314;&#29366;&#24577;&#26639;\n");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &#26410;&#33021;&#21019;&#24314;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#21021;&#22987;&#21270;&#21629;&#20196;&#26639;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!InitCommandBars())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#33719;&#24471;&#19968;&#20010;&#25511;&#21046;&#26639;&#23545;&#35937;&#30340;&#25351;&#38024;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCommandBars* pCommandBars=GetCommandBars();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pCommandBars==NULL)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#21019;&#24314;&#25511;&#21046;&#26639;&#23545;&#35937;&#22833;&#36133;\n");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;  //&#21019;&#24314;&#22833;&#36133;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&#21152;&#20837;&#33756;&#21333;&#26639;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCommandBar* pMenuBar=pCommandBars-&gt;SetMenu(_T("&#33756;&#21333;"),IDR_MAINFRAME);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pMenuBar==NULL)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#21019;&#24314;&#33756;&#21333;&#26639;&#22833;&#36133;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;  //&#21019;&#24314;&#22833;&#36133;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#21019;&#24314;&#24037;&#20855;&#26639;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPToolBar *pToolBar=(CXTPToolBar*)pCommandBars-&gt;Add(_T("&#24037;&#20855;&#26639;"),xtpBarTop);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!pToolBar||!pToolBar-&gt;LoadToolBar(IDR_MAINFRAME))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#21019;&#24314;&#24037;&#20855;&#26639;&#22833;&#36133;");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;  //&#21019;&#24314;&#22833;&#36133;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#35774;&#32622;Office2003&#20027;&#39064;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPPaintManager::SetTheme(/*xtpThemeVisualStudio2008*//*xtpThemeNativeWinXP*/xtpThemeOffice2003);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#20026;&#24037;&#20855;&#26639;&#21644;&#33756;&#21333;&#35835;&#21462;&#20197;&#21069;&#30340;&#29366;&#24577;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//LoadCommandBars (_T("CommandBars"));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#26242;&#26102;&#19981;&#29992;<br /><br /><br />/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#26410;&#33021;&#21019;&#24314;&#24037;&#20855;&#26639;\n");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &#26410;&#33021;&#21019;&#24314;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndStatusBar.Create(this) ||<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndStatusBar.SetIndicators(indicators,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  sizeof(indicators)/sizeof(UINT)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("&#26410;&#33021;&#21019;&#24314;&#29366;&#24577;&#26639;\n");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// &#26410;&#33021;&#21019;&#24314;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22914;&#26524;&#19981;&#38656;&#35201;&#24037;&#20855;&#26639;&#21487;&#20572;&#38752;&#65292;&#21017;&#21024;&#38500;&#36825;&#19977;&#34892;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnableDocking(CBRS_ALIGN_ANY);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DockControlBar(&m_wndToolBar);<br />*/<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />}<br /><br />void CMainFrame::OnCustomize()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#33719;&#24471;&#19968;&#20010;&#21629;&#20196;&#26639;&#23545;&#35937;&#25351;&#38024;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCommandBars* pCommandBars=GetCommandBars();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pCommandBars!=NULL)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#23454;&#20363;&#21270;&#33258;&#23450;&#20041;&#23545;&#35805;&#26694;&#23545;&#35937;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCustomizeSheet dlg(pCommandBars);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#22686;&#21152;&#38190;&#30424;&#39029;&#21040;&#33258;&#23450;&#20041;&#23545;&#35805;&#26694;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCustomizeKeyboardPage pageKeyboard(&dlg);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlg.AddPage(&pageKeyboard);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageKeyboard.AddCategories(IDR_MAINFRAME);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#22686;&#21152;&#36873;&#39033;&#39029;&#21040;&#23454;&#20363;&#21270;&#23545;&#35805;&#26694;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCustomizeOptionsPage pageOptions(&dlg);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlg.AddPage(&pageOptions);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#22686;&#21152;&#21629;&#20196;&#39029;&#21040;&#23454;&#21270;&#23545;&#35805;&#26694;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPCustomizeCommandsPage* pCommands=dlg.GetCommandsPage();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCommands-&gt;AddCategories(IDR_MAINFRAME);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#21033;&#29992;&#21629;&#20196;&#26639;&#31649;&#29702;&#22120;&#21021;&#22987;&#21270;&#33258;&#23450;&#20041;&#23545;&#35805;&#26694;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCommands-&gt;InsertAllCommandsCategory();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCommands-&gt;InsertBuiltInMenus(IDR_MAINFRAME);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCommands-&gt;InsertNewMenuCategory();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#26174;&#31034;&#23545;&#35805;&#26694;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dlg.DoModal();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void CMainFrame::OnUpdateCustomize(CCmdUI *pCmdUI)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCmdUI-&gt;Enable(FALSE);<br />}<br /><br />void CMainFrame::OnClose()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#28155;&#21152;&#28040;&#24687;&#22788;&#29702;&#31243;&#24207;&#20195;&#30721;&#21644;/&#25110;&#35843;&#29992;&#40664;&#35748;&#20540;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#20026;&#24037;&#20855;&#26639;&#21644;&#33756;&#21333;&#20445;&#23384;&#29616;&#26377;&#29366;&#24577;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//SaveCommandBars(_T("CommandBars"));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&#26242;&#26102;&#19981;&#29992;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPFrameWnd::OnClose();<br />}<br /><br /><br />BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( !CFrameWnd::PreCreateWindow(cs) )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#22788;&#36890;&#36807;&#20462;&#25913;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//  CREATESTRUCT cs &#26469;&#20462;&#25913;&#31383;&#21475;&#31867;&#25110;&#26679;&#24335;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cs.lpszClass=_T("XTPMainFrame");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPDrawHelpers::RegisterWndClass(AfxGetInstanceHandle(),cs.lpszClass,CS_DBLCLKS,AfxGetApp()-&gt;LoadIcon(IDR_MAINFRAME));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<br />}<br /><br />void CMainFrame::CreateTaskPanelItems()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelGroup* pGroupProduct=m_wndTaskPanel.AddGroup(ID_TASKGROUP_PRODUCT);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupProduct-&gt;AddLinkItem(ID_TASKITEM_NEW);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupProduct-&gt;AddLinkItem(ID_TASKITEM_SEARCH);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupProduct-&gt;SetSpecialGroup();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelGroup* pGroupProductInfo=m_wndTaskPanel.AddGroup(ID_TASKGROUP_PRODUCTINFO);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupProductInfo-&gt;AddLinkItem(ID_TASKITEM_EDITPRODUCTINFO);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelGroup* pGroupVideoInfo=m_wndTaskPanel.AddGroup(ID_TASKGROUP_VIDEOINFO);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupVideoInfo-&gt;AddLinkItem(ID_TASKITEM_EDITVIDEOINFO);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelGroup* pGroupDraftInfo=m_wndTaskPanel.AddGroup(ID_TASKGROUP_DRAFTINFO);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupDraftInfo-&gt;AddLinkItem(ID_TASKITEM_DRAFTINFO);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pGroupDraftInfo-&gt;AddLinkItem(ID_TASKITEM_ORTHERINFO);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//m_wndTaskPanel.GetImageManager()-&gt;SetIcons(XTPImageManager()-&gt;IsAlphaIconsSupported()?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//IDB_TASKICONS_ALPHA: IDB_TASKICONS_NORMAL, 0, 0, CSize(16, 16));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//m_wndTaskPanel.GetImageManager()-&gt;SetIcon(IDI_SYSTEM_TASKS, IDI_SYSTEM_TASKS, CSize(32, 32));<br /><br />}<br /><br />BOOL CMainFrame::CreateTaskPanel()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndTaskPanel.Create(WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_TABSTOP, CRect(0, 0, 0, 0), &m_wndSplitter, m_wndSplitter.IdFromRowCol(0, 0)))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndTaskPanel.SetOwner(this);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.SetColumnInfo(0, 210, 0);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateTaskPanelItems();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<br />}<br /><br /><br />// CMainFrame &#35786;&#26029;<br /><br />#ifdef _DEBUG<br />void CMainFrame::AssertValid() const<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFrameWnd::AssertValid();<br />}<br /><br />void CMainFrame::Dump(CDumpContext& dc) const<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CFrameWnd::Dump(dc);<br />}<br /><br />#endif //_DEBUG<br /><br /><br />// CMainFrame &#28040;&#24687;&#22788;&#29702;&#31243;&#24207;<br /><br />BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO: &#22312;&#27492;&#28155;&#21152;&#19987;&#29992;&#20195;&#30721;&#21644;/&#25110;&#35843;&#29992;&#22522;&#31867;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.CreateStatic(this,1,3);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!CreateTaskPanel())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&rect);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.CreateView(0,1,pContext-&gt;m_pNewViewClass,CSize(rect.Width()*3/4,rect.Height()),pContext);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.CreateView(0,2,RUNTIME_CLASS(CVideoPlayerView),CSize(rect.Width()/4,rect.Height()),pContext);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.ShowTopBorder(FALSE,0);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//return CXTPFrameWnd::OnCreateClient(lpcs, pContext);<br />}<br /><br />LRESULT CMainFrame::OnTaskPanelNotify(WPARAM wParam,LPARAM lParam)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#22312;&#20219;&#21153;&#38754;&#26495;&#26576;&#39033;&#20013;&#28857;&#20987;&#20102;&#24038;&#38190;<br />{<br />/*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(wParam) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case XTP_TPN_CLICK:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelGroupItem* pItem = (CXTPTaskPanelGroupItem*)lParam;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE(_T("Click Event: pItem.Caption = %s, pItem.ID = %i\n"), pItem-&gt;GetCaption(), pItem-&gt;GetID());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case XTP_TPN_RCLICK:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CXTPTaskPanelItem* pItem = (CXTPTaskPanelItem*)lParam;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE(_T("RClick Event: pItem.Caption = %s, pItem.ID = %i\n"), pItem-&gt;GetCaption(), pItem-&gt;GetID());<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />}<br /><br /><br /><br /><br /><br /><br />i think my Chinese English did not confuse you and i am really confused by this problem for days and prone to psychological collapse, please give me some time and give me a solution, thousands of thanks]]>
   </description>
   <pubDate>Thu, 20 Aug 2009 06:32:22 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=15017&amp;PID=52238&amp;title=right-mouse-menu-is-gone-in-an-item#52238</guid>
  </item> 
 </channel>
</rss>