剑灵怎么找旁边的人组队_百度知道如何去除MFC窗口的自动记忆功能 如去除工具栏,菜单栏上次运行程序自动保存的内容
BCG注册表清除:
第一次在CXXXApp::ExitInstance() 加入CleanState(),
接着注释掉,再在OnInitInstance加入m_bSaveState=FALSE
估计在BCG控件要写注册表的时候,它自己的写入注册表函数会判断m_bSaveState
1.VC2008集成了BCGControlBar的相关功能,用wizard生成的话如果选与BCGControlBar有关的性能,如预定皮肤,则应用程序是从CWinAppEx派生,再加CBCGPWorkspace似乎不行。
2.BCG 为了方便程序员,在注册表中保存了窗口的大小、位置等信息,包括工具栏的相应信息。这样减少了程序员保存和恢复用户上次使用过的界面的重复劳动。但也会造成改变菜单之类出现无反应的现象,让人摸不着头脑。可以采用的一个方法是,删除 BCG 为你保存的注册表键:
HKEY_CURRENT_USER/Software/[your corporation]/[your application]/Workspace
里面 your corporation 是指在 app 类里面 SetRegistryKey 指定的路径;your application 就是你的应用程序名。
把这个删掉之后,还是用你最上面的代码,运行。OK!
更方便的是InitInstance里设m_bSaveState=FALSE;
如果已经有注册内容了再加一句CleanState();
程序成型后再加上。
3.应用皮肤的过程
(1)找一个BCG的例子,将菜单与皮肤相关的项粘贴到你的菜单下,ID值是连续的。
(2)CMainFrame的头文件中
#define CFrameWnd CBCGPFrameWnd//类定义前。这样可以省很多替换工作哦
UINT m_nAppL//指示应用哪个皮肤
CBCGPMenuBar m_wndMenuB
//手动加入消息响应:
afx_msg void OnAppLook(UINT id);
afx_msg void OnUpdateAppLook(CCmdUI* pCmdUI);
(3)CMainFrame的Cpp文件
//消息映射增加
ON_COMMAND_RANGE(ID_VIEW_APPLOOK_2000, ID_VIEW_APPLOOK_VS2008, OnAppLook) //这是范围的响应,所以ID要连续
ON_UPDATE_COMMAND_UI_RANGE(ID_VIEW_APPLOOK_2000, ID_VIEW_APPLOOK_VS2008, OnUpdateAppLook)
//初始化函数
m_nAppLook = theApp.GetInt (_T(&ApplicationLook&), ID_VIEW_APPLOOK_2003);//初始的样子
//OnCreate
OnAppLook (m_nAppLook);
if (!m_wndMenuBar.Create (this))
TRACE0(&Failed to create menubar/n&);
return -1; // fail to create
m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_SIZE_DYNAMIC);
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
EnableAutoHideBars(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMenuBar); //可浮动
//直接把以下两个函数拷贝上去就OK了。
void CMainFrame::OnAppLook(UINT id)
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
m_nAppLook =
switch (m_nAppLook)
case ID_VIEW_APPLOOK_2000:
// enable Office 2000 look:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager));
case ID_VIEW_APPLOOK_XP:
// enable Office XP look:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManagerXP));
case ID_VIEW_APPLOOK_WIN_XP:
// enable Windows XP look (in other OS Office XP look will be used):
CBCGPWinXPVisualManager::m_b3DTabsXPTheme = TRUE;
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPWinXPVisualManager));
case ID_VIEW_APPLOOK_2003:
// enable Office 2003 look:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2003));
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_VS2005:
// enable VS 2005 look:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManagerVS2005));
CBCGPVisualManager::GetInstance ();
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_VS2008:
// enable VS 2008 look:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManagerVS2008));
CBCGPVisualManager::GetInstance ();
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_2007_1:
// enable Office 2007 look:
CBCGPVisualManager2007::SetStyle (CBCGPVisualManager2007::VS2007_LunaBlue);
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2007));
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_2007_2:
// enable Office 2007 look:
CBCGPVisualManager2007::SetStyle (CBCGPVisualManager2007::VS2007_ObsidianBlack);
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2007));
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_2007_3:
// enable Office 2007 look:
CBCGPVisualManager2007::SetStyle (CBCGPVisualManager2007::VS2007_Aqua);
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2007));
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
case ID_VIEW_APPLOOK_2007_4:
// enable Office 2007 look:
CBCGPVisualManager2007::SetStyle (CBCGPVisualManager2007::VS2007_Silver);
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS (CBCGPVisualManager2007));
CBCGPDockManager::SetDockMode (BCGP_DT_SMART);
ASSERT (FALSE);
CBCGPDockManager* pDockManager = GetDockManager ();
if (pDockManager != NULL)
ASSERT_VALID (pDockManager);
pDockManager-&AdjustBarFrames ();
RecalcLayout ();
RedrawWindow (NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
theApp.WriteInt (_T(&ApplicationLook&), m_nAppLook);
void CMainFrame::OnUpdateAppLook(CCmdUI* pCmdUI)
pCmdUI-&SetRadio (m_nAppLook == pCmdUI-&m_nID);
4.上下文菜单
(1)当然是新建一个需要的上下文菜单
(2)应用程序类的头文件下
virtual void PreLoadState ();
void C*App::PreLoadState ()
GetContextMenuManager()-&AddMenu (_T(&My menu&), IDR_CONTEXT_MENU);//IDR_CONTEXT_MENU是菜单的ID
// TODO: add another context menus here
(3)响应上下文菜单的视图类中增加对上下文菜单消息的响应
void C*View::OnContextMenu(CWnd* , CPoint point)
theApp.ShowPopupMenu (IDR_CONTEXT_MENU, point, this);
// TODO: 在此处添加消息处理程序代码
BCG例子BCGPExplorer:
1.BCG的菜单、工具栏、动画图标和地址栏
这是BCG的主要特色,也比较繁琐。
(1)如果要支持自定义工具。
首先在String表定义入口ID:ID_TOOLS_E***Y,与某菜单项关联。然后定义连续的ID,如ID_USER_TOOL1、ID_USER_TOOL2......。
在App下增加 EnableUserTools (ID_TOOLS_E***Y, ID_USER_TOOL1, ID_USER_TOOL10);
(2)主要是修改CMainFrame
头文件声明
CBCGPMenuBar m_wndMenuB
CBCGPStatusBar m_wndStatusB
CBCGPToolBar m_wndToolB
CBCGPReBar m_wndReB //菜单、工具栏、地址栏的容器
CBCGPAnimCtrl m_wndA//动画控件
CComboBoxEx m_wndA//地址栏
增加响应自定义工具的消息函数OnViewCustomize
手动添加消息响应
afx_msg LRESULT OnToolbarReset(WPARAM,LPARAM);
afx_msg LRESULT OnToolbarContextMenu(WPARAM,LPARAM);
虚函数virtual BOOL OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup);
ON_REGISTERED_MESSAGE(BCGM_RESETTOOLBAR, OnToolbarReset)
ON_REGISTERED_MESSAGE(BCGM_TOOLBARMENU, OnToolbarContextMenu)
OnCreate()函数
CBCGPToolBar::EnableQuickCustomization ();
CBCGPToolBar::SetSizes (CSize (28, 28), CSize (22, 22));//工具栏大小
CBCGPToolBar::SetMenuSizes (CSize (22, 22), CSize (16, 16));//工具栏中下拉菜单项大小
//指定常用的工具,其它会自动收缩。每个下拉(pulldown)菜单条至少要有一项
CList&UINT, UINT& lstBasicC
lstBasicCommands.AddTail (ID_VIEW_TOOLBARS);
lstBasicCommands.AddTail (ID_APP_EXIT);
lstBasicCommands.AddTail (ID_APP_ABOUT);
lstBasicCommands.AddTail (ID_VIEW_TOOLBAR);
lstBasicCommands.AddTail (ID_VIEW_CUSTOMIZE);
lstBasicCommands.AddTail (ID_COMMAND_HISTORY);
lstBasicCommands.AddTail (ID_VIEW_LARGEICON);
lstBasicCommands.AddTail (ID_VIEW_SMALLICON);
lstBasicCommands.AddTail (ID_VIEW_LIST);
lstBasicCommands.AddTail (ID_VIEW_DETAILS);
lstBasicCommands.AddTail (ID_EDIT_CUT);
lstBasicCommands.AddTail (ID_EDIT_COPY);
lstBasicCommands.AddTail (ID_EDIT_PASTE);
CBCGPToolBar::SetBasicCommands (lstBasicCommands);
if (!m_wndMenuBar.Create (this))//菜单的创建
TRACE0(&Failed to create menubar/n&);
return -1; // fail to create
m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_SIZE_DYNAMIC);
// Remove menubar gripper and borders:
m_wndMenuBar.SetBarStyle (m_wndMenuBar.GetBarStyle() &
~(CBRS_GRIPPER | CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_RIGHT));
//动画控件的创建,AFX_IDW_TOOLBAR为标准ID,IDB_ANIMATION是连续位图
if (!m_wndAnimate.Create (_T(&&), WS_CHILD | WS_VISIBLE, CRect(0, 0, 20, 20), this, AFX_IDW_TOOLBAR + 2) ||
!m_wndAnimate.SetBitmap (IDB_ANIMATION, 20))
TRACE0(&Failed to create aimation/n&);
return -1; // fail to create
m_wndAnimate.Play (500);
//检测颜色深度是256还是真彩色
CClientDC dc (this);
BOOL bIsHighColor = dc.GetDeviceCaps (BITSPIXEL) & 8;
UINT uiToolbarHotID = bIsHighColor ? IDB_TOOLBAR256 : 0; //IDB_TOOLBAR256真彩色图像(用作工具栏)
UINT uiToolbarColdID = bIsHighColor ? IDB_TOOLBARCOLD256 : 0;
UINT uiMenuID = bIsHighColor ? IDB_MENU256 : IDB_MENU16;
if (!m_wndToolBar.CreateEx(this) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME, uiToolbarColdID, uiMenuID, FALSE, 0, 0, uiToolbarHotID))//IDR_MAINFRAME是256色的预定义工具栏
TRACE0(&Failed to create toolbar/n&);
return -1; // fail to create
// Remove toolbar gripper and borders:
m_wndToolBar.SetBarStyle (m_wndToolBar.GetBarStyle() &
~(CBRS_GRIPPER | CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_RIGHT));
//创建地址栏
if (!m_wndAddress.Create (CBS_DROPDOWN | WS_CHILD, CRect(0, 0, 200, 120), this, AFX_IDW_TOOLBAR + 1))
TRACE0(&Failed to create combobox/n&);
return -1; // fail to create
//将各项加入rebar面板
DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP | RBBS_BREAK;
if (!m_wndReBar.Create(this) ||
!m_wndReBar.AddBar (&m_wndMenuBar) ||
!m_wndReBar.AddBar (&m_wndToolBar, NULL, NULL, dwStyle) ||
!m_wndReBar.AddBar(&m_wndAnimate, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP) ||
!m_wndReBar.AddBar(&m_wndAddress, _T(&Address&), NULL, dwStyle))
TRACE0(&Failed to create rebar/n&);
return -1; // fail to create
m_wndMenuBar.AdjustLayout ();
m_wndToolBar.AdjustLayout ();
//--------------------------------------------------------------
// Set up min/max sizes and ideal sizes for pieces of the rebar:
//--------------------------------------------------------------
REBARBANDINFO
CRect rectToolB
m_wndToolBar.GetItemRect(0, &rectToolBar);
rbbi.cbSize = sizeof(rbbi);
rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE;
rbbi.cxMinChild = rectToolBar.Width();
rbbi.cyMinChild = rectToolBar.Height();
rbbi.cx = rbbi.cxIdeal = rectToolBar.Width() * m_wndToolBar.GetCount ();
m_wndReBar.GetReBarCtrl().SetBandInfo (1, &rbbi);
rbbi.cxMinChild = 0;
CRect rectA
m_wndAddress.GetEditCtrl()-&GetWindowRect(&rectAddress);
rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE;
rbbi.cyMinChild = rectAddress.Height() + 10;
rbbi.cxIdeal = 200;
m_wndReBar.GetReBarCtrl().SetBandInfo (3, &rbbi);//基于上面的AddBar所定的顺序
// 菜单和工具栏允许增加自定义按钮
m_wndMenuBar.EnableCustomizeButton (TRUE, (UINT)-1, _T(&&));
m_wndToolBar.EnableCustomizeButton (TRUE, (UINT)-1, _T(&&));
EnableDocking (CBRS_ALIGN_ANY);
m_wndReBar.EnableDocking (CBRS_TOP);//可以浮动和停靠
DockControlBar (&m_wndReBar);
CString strMainToolbarT
strMainToolbarTitle.LoadString (IDS_MAIN_TOOLBAR);
m_wndToolBar.SetWindowText (strMainToolbarTitle);
// TODO: Remove this if you don't want tool tips
m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY);
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY);
void CMainFrame::OnViewCustomize()
//------------------------------------
// Create a customize toolbars dialog:
//------------------------------------
CBCGPToolbarCustomize* pDlgCust = new CBCGPToolbarCustomize (this,
pDlgCust-&Create ();
LRESULT CMainFrame::OnToolbarContextMenu(WPARAM,LPARAM lp)
CPoint point (BCG_GET_X_LPARAM(lp), BCG_GET_Y_LPARAM(lp));
VERIFY(menu.LoadMenu (IDR_POPUP_TOOLBAR));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
CBCGPPopupMenu* pPopupMenu = new CBCGPPopupM
pPopupMenu-&Create (this, point.x, point.y, pPopup-&Detach ());
//替换256色标准工具栏IDR_MAINFRAME为真彩色
afx_msg LRESULT CMainFrame::OnToolbarReset(WPARAM wp, LPARAM)
UINT uiToolBarId = (UINT)
if (uiToolBarId != IDR_MAINFRAME)
// Replace &Back& and &Forward& buttons by the menu buttons
// with the history lists:
CMenu menuH
menuHistory.LoadMenu (IDR_HISTORY_POPUP);
CBCGPToolbarMenuButton btnBack (ID_GO_BACK, menuHistory,
CImageHash::GetImageOfCommand (ID_GO_BACK), _T(&Back&));//带菜单的按钮
btnBack.m_bText = TRUE;
m_wndToolBar.ReplaceButton (ID_GO_BACK, btnBack);
m_wndToolBar.ReplaceButton (ID_GO_FORWARD,
CBCGPToolbarMenuButton (ID_GO_FORWARD, menuHistory,
CImageHash::GetImageOfCommand (ID_GO_FORWARD), _T(&Forward&)));
// &Folders& button has a text label:
m_wndToolBar.SetToolBarBtnText (mandToIndex (ID_VIEW_FOLDERS),
_T(&Folders&));
// Replace &Views& button by the menu button:
CMenu menuV
menuViews.LoadMenu (IDR_VIEWS_POPUP);
m_wndToolBar.ReplaceButton (ID_VIEW_VIEWS,
CBCGPToolbarMenuButton ((UINT)-1, menuViews,
CImageHash::GetImageOfCommand (ID_VIEW_VIEWS), _T(&Views&)));
BOOL CMainFrame::OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup)
//---------------------------------------------------------
// 将占位的ID_VIEW_TOOLBARS菜单项替换为IDR_POPUP_TOOLBAR:
//---------------------------------------------------------
CFrameWnd::OnShowPopupMenu (pMenuPopup);
if (pMenuPopup != NULL &&
pMenuPopup-&GetMenuBar ()-&CommandToIndex (ID_VIEW_TOOLBARS) &= 0)
if (CBCGPToolBar::IsCustomizeMode ())
//----------------------------------------------------
// Don't show toolbars list in the cuztomization mode!
//----------------------------------------------------
return FALSE;
pMenuPopup-&RemoveAllItems ();
VERIFY(menu.LoadMenu (IDR_POPUP_TOOLBAR));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pMenuPopup-&GetMenuBar ()-&ImportFromMenu (*pPopup, TRUE);
return TRUE;
补充CBCGPToolBar的使用
CMainFrame::OnCreate下
(1) CBCGPToolBar::EnableQuickCustomization ();//按Alt键时可以拖动工具栏上的图标重新排列
(2) m_wndToolBar.EnableCustomizeButton (TRUE, ID_VIEW_CUSTOMIZE, _T(&Customize...&));
//允许自定义工具栏,名字“Customize”,并与菜单项ID_VIEW_CUSTOMIZE关联。
void CMainFrame::OnViewCustomize()
{//在BCG标准的自定义工具栏中加入新的属性页
CList &CRuntimeClass*, CRuntimeClass*& lstCustomP
lstCustomPages.AddTail (RUNTIME_CLASS (CMyCustomizationPage));
//CMyCustomizationPage是一个自定义的属性页
//------------------------------------
// Create a customize toolbars dialog:
//------------------------------------
CBCGPToolbarCustomize* pDlgCust = new CBCGPToolbarCustomize (this,
BCGCUSTOMIZE_MENU_SHADOWS | BCGCUSTOMIZE_TEXT_LABELS |
BCGCUSTOMIZE_LOOK_2000 | BCGCUSTOMIZE_MENU_ANIMATIONS, // default parameters
&lstCustomPages); // pointer to the list of runtime classes of the custom property pages
pDlgCust-&Create ();
(3)将占位菜单项ID_VIEW_TOOLBARS替换为菜单IDR_POPUP_TOOLBAR
virtual BOOL OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup);
BOOL CMainFrame::OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup)
//---------------------------------------------------------
// Replace ID_VIEW_TOOLBARS menu item to the toolbars list:
//---------------------------------------------------------
CFrameWnd::OnShowPopupMenu (pMenuPopup);
if (pMenuPopup != NULL &&
pMenuPopup-&GetMenuBar ()-&CommandToIndex (ID_VIEW_TOOLBARS) &= 0)
if (CBCGPToolBar::IsCustomizeMode ())
//----------------------------------------------------
// Don't show toolbars list in the cuztomization mode!
//----------------------------------------------------
return FALSE;
pMenuPopup-&RemoveAllItems ();
VERIFY(menu.LoadMenu (IDR_POPUP_TOOLBAR));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pMenuPopup-&GetMenuBar ()-&ImportFromMenu (*pPopup, TRUE);
return TRUE;
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
一个偶然的机会又重新接触了MFC窗口的分割,自己结合资料重新写了一个窗口分割的程序,现将具体流程跟大家分享一下: 1.我们先创建一个MFC单文档类的程序,具体分割方式先将单文档整个客户区分成两行一列,首先我们在MFC的CMainFrame类中定义一个CSplitterWnd类的对像m_wndSplitter,在主窗口类中我们可以通过对象m_wndSplitt ...
VC++MFC 窗口最大化.最小化的实现!
当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮.
但有时我们也想在其它地方使用这些功能.这就可采用下面的办法.
在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化. WINDOWPLACEMENT ...
在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口).上边是工具栏,中间是视图窗口,下边是状态栏.三个窗口在框架的客户区里和平共处,互不重叠.主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且其宽度总能和主框架客户区宽度一致.工具栏窗口总能停 ...
MFC应用程序中处理消息的顺序1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWnd ...
考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd-&Create.则销毁窗口的调用次序: 1. 手工调用pWnd-&DestroyWindow(): 2. DestroyWindow会发送WM_DESTROY: 3. WM_DESTROY对应的消息处理函数是OnDestroy(): 4. DestroyWindow会 ...
文章参考地址:http://blog.csdn.net/maweiqi/article/details/7876175 Windows消息处理机制 MFC应用程序中处理消息的顺序 1. AfxWndProc()该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc()该函数负责保存消息(保存的内 ...
作者:朱金灿 来源:http://blog.csdn.net/clever101/
最近学习OSG,下载了FreeSouth大侠的一个MFC框架RambleSystem,自己学习了一下,新建了一个单文档程序,改了其中一些bug,和大家分享一下.单文档程序实现的功能非常简单,就是打开显示osg文件.不过仍存在一个问题,例如打开一些osg文件显示模型 ...
这两天看一个别人写的代码,在一个视图中需要用到查找对话框.于是在View类里定义了一个CFindReplaceDialog的指针:CFindReplaceDialog *m_pFRD
然后在需要使用查找功能的时候,用下面的代码响应:void CTestSdiView::OnFindReplace() { // TODO:温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
什么都不懂,什么都不畏惧的家伙~~
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(4629)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'ubuntu 14.04 Task bar 左边的任务栏和上边的菜单栏消失',
blogAbstract:'\r\n终端:/usr/bin/xtream\r\nubuntu上配置Android 4.4.2的环境,把状态栏面板栏给配置没了,整个界面里只有几个桌面的图标,上下任务栏都没了,按照网上的一些方法,结束gnome-panle,再重新加载,结果,两个面板回来了,不过是空空的,什么也没有,重启后,还是老样子 后来,找了半天,终于让我给找到了方法了,就是把gnome的配置文件给删除了,下次启动时,会重新自动配置,就OK了.,如果你感觉你的界面出了问题,不管什么问题,用这个方法一定能行,等于就是恢复默认设置一样了,哈哈方法如下:把~/ 目录下的 .gnome2/ .gnome2_private/ .config/ .gconfd/ .gconf/ .gnome/ 全部删除其实只要删除一个就可以',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:2,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'什么都不懂,什么都不畏惧的家伙~~',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}手机玩游戏,进去游戏里,上方有可拉动的菜单栏,使游戏一方显示不全,就是缺了一部分画面,这问题怎么解_百度知道