龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC实用小知识总结 (二)(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
最后,要创建无模式对话。可以调用CDialog : : DoModal创建一个模式对放,要创建一个无模式对话则要调用CDialog: : Create。下面的例子说明 了应用程序是如何

  最后,要创建无模式对话。可以调用CDialog : : DoModal创建一个模式对放,要创建一个无模式对话则要调用CDialog: : Create。下面的例子说明 了应用程序是如何创建无模式对话的: 象;无模式对话不是同步的,创建函数调用后立即返回,

   void CMainFrame : : OnSampleDialog ( )
  {
  //Allocate a modeless dialog object .
  CSampleDilog * pDialog =new CSampleDialog
  ASSERT_VALID (pDialog) Destroy ( )
  //Create the modeless dialog . represents this dialog.
  BOOL bResult = pDialog ―> Creste (IDD_IDALOG)
  ASSERT (bResult )
  }

  (28) 如何防止主框窗口在其说明中显示活动的文档名

  创建主框窗口和MDI子窗口进通常具有FWS_ADDTOTITLE风格位,如果不希望在说明中自动添加文档名, 必须禁止该风格位, 可以使用ClassWizard重置

   CWnd: : PreCreateWindow并关闭FWS_ADDTOTITLE风格。
  BOOL CMainFrame : : PreCreateWindow (CREATESTRUCT&cs)
  {
  //Turn off FWS_ADDTOTITLE in main frame .
  cs.styel & = ~FWS_ADDTOTITLE  
  return CMDIFrameWnd : : PreCreateWindow (cs )
  }

  关闭MDI子窗口的FWS _ADDTOTITLE风格将创建一个具有空标题的窗口,可以调用CWnd: : SetWindowText来设置标题。记住自己设置标题时要遵循接口风格指南。

  (29) 如何在代码中获取工具条和状态条的指针

  缺省时, 工作框创建状态条和工具条时将它们作为主框窗口的子窗口,状态条有一个AFX_IDW_STATUS_BAR标识符,工具条有一个AFX_IDW_TOOLBAR标识符,下例说明了如何通过一起调用CWnd: : GetDescendantWindow和AfxGetMainWnd来获取这些子窗口的指针:

   //Get pointer to status bar .
  CStatusBar * pStatusBar = (CStatusBar *) AfxGetMainWnd ( )
  ―> GetDescendantWindow(AFX_IDW_STUTUS_BAR)
  //Get pointer to toolbar .
  CToolBar * pToolBar = (CToolBar * ) AfxGetMainWnd ( )
  ―> GetDescendantWindow(AFX_IDW_TOOLBAR)

  (30) 怎样加载其他的应用程序?

  三个SDK函数 winexec, shellexecute,createprocess可以使用。

  WinExec最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说一下,比如泥用 SW_SHOWMAXMIZED方式去加载一个无最大化按钮的程序,就是Neterm,calc等等,就不会出现正常的窗体,但是已经被加到任务列表里了。

  ShellExecute较 WinExex灵活一点,可以指定工作目录,下面的Example就是直接打开 c: emp1.txt,而不用加载与 txt文件关联的应用程序,很多安装程序完成后都会打开一个窗口,来显示Readme or Faq,我猜就是这么作的啦.

   ShellExecute(NULL,NULL,_T("1.txt"),NULL,_T("c: emp"),SW_SHOWMAXMIZED)

精彩图集

赞助商链接