您的位置:首页 > 其它

第三部分 一个Demo程序及相关说明

2012-07-02 15:09 288 查看
http://www.cnblogs.com/inshion/archive/2009/01/12/1374079.html

3.1 在Eclipse中导入并运行一个C++项目
  点此处可以下载本文中用到的C++项目(Eclipse+CDT项目,环境按第一部分的说明配置),下载后解压。
  然后在Eclipse中使用File->Import->Genaral::Existing Project into Workspace向导即可把下载的项目导入到开发环境中。便会看到如下图的项目:
class MyApp
namespace inshion {
class MyApp: public inshion::Application {
public:
MyApp(){}
virtual ~MyApp(){}
bool InitInstance(){
if (!MainWin.Create(this, "Inshion - Test - 001", 0, 0)){
return FALSE;
}
MainWindow = &MainWin;
return TRUE;
}

protected:
MyWin MainWin;
};

MyApp theApp;
}
class MyWin
namespace inshion {

class MyWin : public inshion::Window{
public:
MyWin(){}
virtual ~MyWin(){}

LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam){
switch (uMsg) {
case WM_PAINT:
OnPaint();
break;
default:
return Window::WindowProc(uMsg, wParam, lParam);
}
return 0L;
}

void OnPaint(){
PAINTSTRUCT ps;
HDC hdc;
hdc = BeginPaint(hWnd, &ps);
PrintText("Hello,I'm Inshion~");
EndPaint(hWnd, &ps);
}
};

}

  另外再提一下,我们可以试着把MyApp.h中的成员变量定义

  MyWin MainWin;

  改回基类

  Window MainWin;

  此时的运行结果就是弹出一个基类的Window,而与MyWin无关(可以把MyWin相关的代码删掉,依然不影响运行)。这一方面说明,如果我们的
很多需求是大量重复的,就完全可以在基类里做好,扩展时都不用写MyWin这样的窗口类;另一方面说明,即使我们要自己做扩展,也是非常方便地添加一个窗
口类就可以。

  下一部分将介绍如何把基类们封装成静态库项目,以便更方便地复用。

附:本文中的源代码项目下载(MyMain_Inshion_Exa001.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐