【vc++精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了vc++精品源码-飞秋FeiQ(局域网聊天软件)插件开发指南 - 职业资格的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
软件交流群:153376930 飞秋 FeiQ局域网聊天软件插件开发指南 作者:卢本陶 lubentaotom.com 版权所有 侵权必究1、开发前准备 请确保有飞秋 FeiQ.exe 程序,并且确定版本是在 V2.5a 版本以上。
只有 V2.5a 版本及以上版本才支持插件。
如您还没有飞秋 FeiQ.exe 程序,可以去以下地址下载最新版本: http://www.feiq18.com/viewthread.phptid43extrapage3D1 开发环境为:Visual C6.02、创建插件工程 创建插件工程首先把飞秋 FeiQ 插件源代码目录中 wizard 目录下的 FeiQPluginWizard.awx文件拷至 VC 安装目录 Microsoft Visual StudioCOMMONMSDev98Template ,然后在 VC中创建一个插件工程。
第一步:创建一个 OfficeChat 工程。
第二步:设置插件的信息。
软件交流群:153376930完成点 Finish 完成之后,可以自动生成如下函数: 软件交流群:153376930 这些自动生成的代码,已经定义了 FeiQ 的接口函数,一个插件的基本框架已经搭建成功,用户只需要在这些接口函数里添加自己的功能。
创建完成一个插件工程之后,就需要考虑在 FeiQ 程序界面能体现出该插件,如菜单、面板;具体怎么操作可以查看示例中的几个插件源代码。
3、界面上的体现 1增加菜单 1 在 OnLoadIDispatch FQModuleSite函数中增加菜单,这函数在程序启动时自动加载。
IFQModuleSitePtr m_ptrModuleSite IFQRootPtr m_ptrRoot int m_AddMenuIDHRESULT COfficeChatModule::OnLoadIDispatch FQModuleSite m_ptrModuleSite FQModuleSite m_ptrModuleSite-get_FQRootm_ptrRoot CComBSTR identeriferMenuFeiQ.Menu m_ptrMenu m_ptrRoot-Module_bstr_tidenteriferMenu IFQUICommand pUICmd dynamic_castm_xMenuSink m_AddMenuID m_ptrMenu-AddItemFQ_UI_TYPE_TRAY_MENU 退 出 CpUICmd 办公模式对话框 101 return S_OK/菜单 Text 说明: 软件交流群:153376930 形式如 测试 Group测试 其中 和 可选。
表示分隔符。
在名称前加 表示在添加的菜单项上面添加分隔符. 在名称前后 表示在添加的菜单项下面添加分隔符. 是上下级菜单的关系。
例子中测试菜单的父菜单是测试 Group。
当测试 Group 不存在时,程序会自动创建这组菜单/在程序退出时,删除加载的函数:HRESULT COfficeChatModule::OnUnload IFQUICommand pUICmd dynamic_castm_xMenuSink ifm_ptrMenu m_ptrMenu-DelItemFQ_UI_TYPE_TRAY_MENU m_AddMenuID pUICmd return S_OK2增加抽屉栏面板2CShortCutDlg shortCutDlg在 Onload 函数中IFQFolderBarPtr barCLSID_FQFolderBarshortCutDlg.m_ptrRoot m_ptrRootshortCutDlg.CreateIDD_DIALOG_SHORTCUTint m_nAddBar bar-AddBarL程序快捷方式 LONGshortCutDlg3交互控制3 以上已经实现了插件在 FeiQ 添加菜单的功能,用户在点击菜单的时候,就可以在插件中进行响应,具体操作的步骤: HRESULT COfficeChatModule::MenuOnInvokeenum FQ_UI_TYPE Type long IdVARIANT Parameter //点击自定义的菜单后,会触发此事件 ifId m_AddMenuID //这里写你要实现的代码 设置菜单项的状态: HRESULT COfficeChatModule::XMenuSink::raw_OnQueryStateenum FQ_UI_TYPE Typelong Id VARIANT Parameter BSTR bstrText enum FQ_UI_ITEM_STATE State 软件交流群:153376930 METHOD_PROLOGUECOfficeChatModule MenuSink ifId pThis-m_AddMenuID1 //这里设置菜单的属性,如选中,不可用,更改菜单名称 4数据的发送和接收4 数据的发送: IFQDataPtr pFQSendDataCLSID_FQData pFQSendData-SetStringFQDK_KEY FQDK_MODULE_KEY_CHAT pFQSendData-SetStringFQDK_MODULE_KEY_CONTENT LPCTSTRm_strChat m_ptrModuleSite-SendDataLPCTSTRstrPlayBuddyIp pFQSendData 注意每次发送数据时,必须要设置 FQDK_KEY 的值。
数据发送结果的查看: 数据发送完成后