当前位置: 首页 > 工具软件 > bkwin > 使用案例 >

WTL如何在工程中使用bkwin

张逸清
2023-12-01

原文网址: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 <atlbase.h>
#pragma comment(lib,"atlthunk.lib")
#include <atlwin.h>
#include <atlstr.h>
#include <atltrace.h>

#define _WTL_NO_CSTRING

#include <wtl/atlapp.h>
#include <wtl/atlframe.h>
#include <wtl/atlctrls.h>
#include <wtl/atlctrlx.h>
#include <wtl/atldlgs.h>
#include <wtl/atlcrack.h>
#include <wtl/atlmisc.h>

#include <tinyxml/tinyxml.h>
#include <bkwin/bkdlgview.h>
#include <bkres/bkres.h>
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<CMainDlg>
{
public:
    CMainDlg(): CBkDialogImpl<CMainDlg>(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<CMainDlg>)
    END_MSG_MAP()

public:

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

 类似资料: