WTL如何在工程中使用bkwin

原文网址:http://myswirl.blog.163.com/blog/static/5131864220111128112949419/

WTL如何在工程中使用bkwin  

小布作品 - 金山开源DirectUI界面库快速实战 1/2

http://www.boobooke.com/bbs/thread-110844-1-1.html

{开源卫士讲座} WTL系列教程规划

http://bbs.code.ijinshan.com/thread-1084-1-1.html

http://bbs.code.ijinshan.com/thread-1209-1-2.html

1.复制bkwin,tinyxml到你工程目录下面,并且在工程include路径中指定位置;

2.在你的工程里面添加bkwin和tinyxml文件,并且修改工程设置tinyxml的cpp的预编译头去掉;

3.添加bkres\bkres.rc到工程, 在工程目录添加bkwinres.h和bkwinres.rc2可以是空文件,并且添加到工程;

4.在stdafx.h里面添加下面头文件

#include
#pragma comment(lib,"atlthunk.lib")
#include
#include
#include

#define _WTL_NO_CSTRING

#include
#include
#include
#include
#include
#include
#include

#include
#include
#include
extern CAppModule _Module;

5.bkwin界面使用前资源的初始化
BkString::Load(IDR_BK_STRING_DEF);
BkFontPool::SetDefaultFont(BkString::Get(IDS_APP_FONT), -12);

BkSkin::LoadSkins(IDR_BK_SKIN_DEF);
BkStyle::LoadStyles(IDR_BK_STYLE_DEF);
    
6.在res 添加 def_skin.xml def_style.xml def_string.xml 3个资源定义文件。

7.主界面对话框xml的编写,c++ 代码的添加。
class CMainDlg: public CBkDialogImpl
{
public:
    CMainDlg(): CBkDialogImpl(IDR_BK_MAIN_DIALOG)
    {
    }

public:
    BK_NOTIFY_MAP(IDC_RICHVIEW_WIN)
        BK_NOTIFY_ID_COMMAND(IDC_BTN_SYS_CLOSE, OnBkBtnClose)
    BK_NOTIFY_MAP_END()

    BEGIN_MSG_MAP_EX(CMainDlg)
        MSG_BK_NOTIFY(IDC_RICHVIEW_WIN)
        CHAIN_MSG_MAP(CBkDialogImpl)
    END_MSG_MAP()

public:

    void OnBkBtnClose()
    {
        EndDialog(IDCANCEL);
    }
};

你可能感兴趣的:(WTL如何在工程中使用bkwin)