MiniUtilityFramework(四):CDominatorBase

  //========================================================================
  //TITLE:
  //    MiniUtilityFramework(四):CDominatorBase

  //AUTHOR:
  //    norains
  //DATE:
  //     23-February-2009
  //Environment:
  //    VISUAL STUDIO 2005 + WINDOWS CE 5.0
  //========================================================================

    CDominatorBase是MUF中唯一必须要继承的类。因为该类有两个纯虚函数,如果需要实例化,就必须要继承重载。
   
    我们来看看这两个纯虚函数:
   
  //----------------------------------------------------------------------------------
  //Description:
  // Create the new window object. You should call the CloseWndObj to release the resource
  //Parameters:
  // strWndName : [in] The window name
  //-----------------------------------------------------------------------------------
  virtual CUserWnd* CreateWndObj(const TSTRING &strWndName) = 0;
 
  //----------------------------------------------------------------------------------
  //Description:
  // Close the object of the window.
  //Parameter:
  // pObject : [in] The handle of the window which returned by CreateWndObj function.
  //-----------------------------------------------------------------------------------
  virtual BOOL CloseWndObj(CUserWnd* pObject) = 0;
  
  
  设置这两个纯虚函数的原因是给使用者提供一个创建窗口的接口,令其能实现特有的功能。
  
  当然,如果为了简便,可以直接在CreateWndObj中直接返回CUserWnd的实例:
  
  CUserWnd *pObj = new CUserWnd(GetImgTab(),GetStrTab());
  return pObj;
  
  不过这样就只能是有限的几个功能,基本上无法满足用户的需求。
  
  如果客户想创建自己独有功能的窗口,必须继承于CUserWnd,然后在CreateWndObj创建相应的实例。
  
  例如:

 

  代码中的窗口名是在配置文件中定义的,例如:
  
  [WND_VIDEO]
  TYPE=WINDOW
  
  ...
  
  [WND_SETTING]
  TYPE=WINDOW
  
  ...
  
  夹杂在[]中的SECTION即为代码中的窗口名。
  
  
  CDominatorBase中还有两个public函数,分别如下:
  
  //-----------------------------------------
  //Description:
  // Initialize
  //Parameter:
  // strIniFile : [in] The ini file path
  //-----------------------------------------
  virtual BOOL Initialize(const TSTRING &strIniFile);
  
  //-----------------------------------------
  //Description:
  // Show the main window
  //Parameters:
  // bShow : [in] TRUE - show window. FALSE - hide.
  //-----------------------------------------
  virtual BOOL ShowMainWnd(BOOL bShow);
    
    Initialize函数的形参是配置文件的路径,如:
 
    CDominator dom;
    dom.Initialize(TEXT("//NDND//MUF.ini"));
   
    ShowMainWnd用来决定主窗口是显示还是隐藏。“主窗口”指的的是在配置文件中段名为WND_MAIN的窗口,即:
   
    [WND_MAIN]
    TYPE=WINDOW
       
    以上两个函数一般都是在程序入口函数WinMain中调用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值