WINX发布新版本

在下一篇,我们将详细讨论MFC移植到WINX这个话题。

对WINX感兴趣?点击这里下载一个看看。

修订记录 1.1.02x (2006-12-03)
-----------------------------------------

哦,不好意思,很抱歉我忘了最重要的事情。现在,我统一了所有以表(Map)形式宏的风格。它们包括:

   WINX_TEST_SUITE/WINX_TEST/WINX_TEST_SUITE_END;
   WINX_CMDS_BEGIN/WINX_CMD/WINX_CMDS_END;
   WINX_SYSCMD_BEGIN/WINX_SYSCMD/WINX_SYSCMD_END;
   WINX_NOTIFY_BEGIN/WINX_NOTIFY/WINX_NOTIFY_END;
   WINX_REFLECT_NOTIFY_BEGIN/WINX_REFLECT_NOTIFY/WINX_REFLECT_NOTIFY_END;

我推荐你使用这种风格:

 class MyDialog : public winx::ModalDialog<MyDialog>
 {
  WINX_CMDS_BEGIN()
   WINX_CMD(ID_TEST1, OnCmdTest1)
   WINX_CMD(ID_TEST2, OnCmdTest2)
  WINX_CMDS_END();
 };
 
而不要使用以下这种就的风格(虽然它仍然可以工作):

 class MyDialog : public winx::ModalDialog<MyDialog>
 {
  WINX_CMDS_BEGIN();
   WINX_CMD(ID_TEST1, OnCmdTest1);
   WINX_CMD(ID_TEST2, OnCmdTest2);
  WINX_CMDS_END();
 };


修订记录 1.1.02 (2006-12-02)
-----------------------------------------

这个发布主要关注:

 - 移植MFC程序到WINX。提供了一些样例。
 
 - 部分有用的组件,它们被DocX项目用到了。
   关于该项目,请参考:http://sourceforge.net/projects/docx.
  
 - DocX将被用于生成WINX的文档。我会尽早发布它。

*) STL扩展库(stdext)作为独立的组件

 stdext(STL扩展库)过去是WINX库的一部分,但现在它被作为独立的组件。
 
 我将目录树重这样:
 
  ├─winx
  │  ├─include
  │  │  ├─winx
  │  │  └─stdext
  │  ├─docs(zh-CN)
  │  ├─docs(en)
  │  ├─samples
  │  ├─tutorials
  │  └─lib
  ├─winsdk
  │  ├─bin
  │  ├─include
  │  └─lib
  └─wtl
      ├─include
      ├─Notes
      ├─Samples
      └─Wizards
     
 改成了这样(注意stdext的变化):
  
  ├─winx
  │  ├─include
  │  │  └─winx
  │  ├─docs(zh-CN)
  │  ├─docs(en)
  │  ├─samples
  │  ├─tutorials
  │  └─lib
  ├─stdext
  │  └─include
  │     └─stdext
  ├─winsdk
  │  ├─bin
  │  ├─include
  │  └─lib
  └─wtl
      ├─include
      ├─Notes
      ├─Samples
      └─Wizards

*) 样例: 移植MFC程序到WINX

 - samples/mfc-port/LCDMatrix(MFC)
   概要: LCD数字控件。
   作者: Nic Wilson, 2002.
   网页: http://www.codeproject.com/staticctrl/digidisplay.asp

 - samples/mfc-port/LCDMatrix
   概要: 将MFC程序LCDMatrix移植到WINX.

 - samples/mfc-port/AboutCtrl(MFC)
   概要: 一个用于显示关于对话框中版权信息的控件。
   作者: Pablo van der Meer, 2002.
   网页: http://www.codeproject.com/staticctrl/aboutctrl.asp
   注意: 我没有提供这个程序的WINX版本,因为我希望看到你会尝试这样做。
         我将在下一个发布中提供参考版本。

*) STL扩展库(stdext)

 - TestCase: CppUnit风格的单元测试宏(但更轻量)
   WINX_TEST_APP, WINX_TEST_CLASS, WINX_TEST_SUITE, WINX_TEST, WINX_TEST_SUITE_END
   UnitTestAssert(AssertExp, AssertEq, AssertEqBuf)

 - Archive类:
   StreamArchive(StreamWriteArchive, StreamReadArchive, MemStreamWriteArchive, MemStreamReadArchive)
   StdioArchive(StdioWriteArchive, StdioReadArchive)
   ReadArchiveImpl, WriteArchiveImpl:
  - 二进制读写: put16i/get16i, put32i/get32i, put_struct/get_struct, read/write, etc
  - 文本读写: scan_uint, get_uint, get_not_if/getnws, skip_if/skipws, etc.

 - DigitTable, ULargeInteger, LargeInteger
   一些小的工具类,Archive类用到了它们.

 - 算法: set_intersection_do (see std::set_intersection)

 - KMP字符串查找算法:
   std::kmp::Finder, std::kmp::CaseFinder, std::kmp::NoCaseFinder

 - Pool(内存池):
   boost::pool, boost::object_pool, etc.
   这些组件需要boost,参考:http://www.boost.org
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值