Skip to content
John Smith edited this page Jan 22, 2017 · 4 revisions

阅读本教程前首先需要搭建开发环境

更多插件例程见Plugin目录下的项目

新建插件项目

你可以选择使用插件项目模板或者手动配置项目

使用插件项目模板

  1. 把插件模板导入VS2013:
    Plugin\TiebaManagerPluginTemplate.zip放到你的VS2013模板目录下,你可以在工具-选项-项目和解决方案-用户项目模板位置看到你的模板目录
  2. 新建项目,模板选择贴吧管理器插件,位置选择Plugin目录,否则无法找到CommonProperty.props

手动配置项目

  1. 新建项目,模板选择MFC DLL
  2. 配置:所有配置项目属性-常规
    输出目录填贴吧管理器中的Plugin目录,即$(SolutionDir)$(Configuration)\plugin\
  3. 配置:Release
    平台工具集选择Visual Studio 2013 - Windows XP (v120_xp),这一步是为了Release版能在XP下运行
  4. 在属性管理器中Debug和Release添加现有属性表,选择CommonProperty.props

实现插件功能

添加事件监听

在插件的初始化函数中添加事件监听,以添加确认贴吧事件为例:

#include <TBMAPI.h>
#include <TBMEvent.h>
#include <TBMCoreConfig.h>

using namespace std::placeholders;

// 初始化插件,注册Listener
void CPluginSample::Init()
{
	// 注册监听器
	// 因为listener是std::function,这里可以用函数指针、std::bind、lambda表达式等
	g_postSetTiebaEvent.AddListener(std::bind(&CPluginSample::OnPostSetTieba, this, _1), m_module);
}

// 确认贴吧成功后触发这个事件
void CPluginSample::OnPostSetTieba(const CString& forumName)
{
	// 这里可以处理事件,也可以取消事件,当然有些事件不能取消,比如这个PostSetTiebaEvent
	GetLog().Log(_T("<font color=green>Hello world! 设置了贴吧:</font>") + event_->m_forumName);
}

你可以在API的头文件里查看可以监听的事件