MFC richedit可进行插入图片、表情,有聊天气泡,与QQ非常类似


MFC richedit,可进行插入图片、表情,有聊天气泡,与QQ非常类似
资源截图
代码片段和文件信息
#include “stdafx.h“
#include “souistd.h“
#include “MenuWrapper.h“
#include “helpersmenuex.h“

namespace SOUI
{

    // ------------------------------------------------------------------------------
    //
    // impl MenuItemWrapper
    //
    // ------------------------------------------------------------------------------

    MenuItemWrapper::MenuItemWrapper(pugi::xml_node node) : _menuItemNode(node)
    {
    }

    void MenuItemWrapper::SetText(const SStringW& str)
    {
        if (_menuItemNode)
        {
            _menuItemNode.text().set((LPCWSTR)str);
        }
    }

    pugi::xml_attribute MenuItemWrapper::AppendItemAttr(LPCWSTR lpszAttr)
    {
        pugi::xml_attribute attr;

        if (_menuItemNode)
        {
            attr = _menuItemNode.attribute(lpszAttr);
            if (!attr)
            {
                attr = _menuItemNode.append_attribute(lpszAttr);
            }
        }

        return attr;
    }

    void MenuItemWrapper::SetId(int id)
    {
        AppendItemAttr(L“id“).set_value(id);
    }

    void MenuItemWrapper::SetEnable(BOOL bEnable)
    {
        AppendItemAttr(L“enable“).set_value(bEnable);
    }

    void MenuItemWrapper::SetCheck(BOOL bCheck)
    {
        AppendItemAttr(L“check“).set_value(bCheck);
    }

    void MenuItemWrapper::SetFont(const SStringW& font)
    {
        AppendItemAttr(L“font“).set_value((LPCWSTR)font);
    }

    int  MenuItemWrapper::GetId()
    {
        return AppendItemAttr(L“id“).as_int(-1);
    }

    // ------------------------------------------------------------------------------
    //
    // impl MenuWrapper
    //
    // ------------------------------------------------------------------------------

    MenuWrapper::MenuWrapper(const SStringW& xml const SStringW& type)
    {
        LOADxml(_menuDoc xml type);
        _menuRoot = _menuDoc.child(L“menuRoot“);
    }

    MenuWrapper::~MenuWrapper()
    {
    }

    MenuItemWrapper* MenuWrapper::AddMenu(const SStringW& str
        int id
        BOOL bEnable /*=TRUE*/
        BOOL bCheck)  /*=FALSE*/
    {
        if (!_menuRoot)
        {
            return NULL;
        }

        pugi::xml_node node = _menuRoot.append_child(L“menuItem“);

        node.append_attribute(L“colorTextDisable“).set_value(L“#c0c0c0“);

        MenuItemWrapper menuItem(node);
        menuItem.SetText(str);
        menuItem.SetId(id);
        menuItem.SetEnable(bEnable);
        menuItem.SetCheck(bCheck);
        menuItem.SetFont(L“size:12“);

        _menuItems.push_back(menuItem);
        VecMenuItems::iterator it = _menuItems.end() - 1;

        return &(*it);
    }

    MenuItemWrapper* MenuWrapper::GetMenuItemById(int id)
    {
        VecMenuItems::iterator it = _menuItems.begin();

        for (; it != _menuItems.end(); ++it)
        {
            if (it->GetId() == id)
            {
                return &(*i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      25683  2017-07-07 13:39  RichEditDemoDebugemotion59C88B726E758AC8BA055D4427CC461.gif

     文件       9551  2017-07-07 13:39  RichEditDemoDebugemotion1.gif

     文件       3258  2017-07-07 13:39  RichEditDemoDebugemotion11C5DB75F84AF1F0146DEFC753B62C3D.gif

     文件      19093  2017-07-07 13:39  RichEditDemoDebugemotion13E1887418EF4B26BF568158F582ECE5.gif

     文件      25182  2017-07-07 13:39  RichEditDemoDebugemotion16A5A7C54D6A1D9C2CA0D2BB22A588A2.gif

     文件      29909  2017-07-07 13:39  RichEditDemoDebugemotion17AD908C592E1C7EC977A5D130CA70DF.gif

     文件      21982  2017-07-07 13:39  RichEditDemoDebugemotion2.gif

     文件       2248  2017-07-07 13:39  RichEditDemoDebugemotion3.gif

     文件       5842  2017-07-07 13:39  RichEditDemoDebugemotion341F58F256ED64DBEA11B6F90E7076FE.gif

     文件       6773  2017-07-07 13:39  RichEditDemoDebugemotion34A2A4CC82B3EF3B6E460F4E554C5CC2.gif

     文件       2509  2017-07-07 13:39  RichEditDemoDebugemotion4.gif

     文件      10580  2017-07-07 13:39  RichEditDemoDebugemotion401A58A6F075A2338D4D418F7F6B1298.gif

     文件       3108  2017-07-07 13:39  RichEditDemoDebugemotion40EB7D8C4CB434AFAAD82B7E46779962.gif

     文件       5753  2017-07-07 13:39  RichEditDemoDebugemotion40F6AB4F99FA26D8F3B437D811050846.gif

     文件      10406  2017-07-07 13:39  RichEditDemoDebugemotion43AE086EEC0602F934811599515DD77C.gif

     文件       6833  2017-07-07 13:39  RichEditDemoDebugemotion446E4528677BB1B1AACD3919C5DE64F9.gif

     文件       3543  2017-07-07 13:39  RichEditDemoDebugemotion47A6D44C20580B1E2E2FBB8BA85B6794.gif

     文件       5141  2017-07-07 13:39  RichEditDemoDebugemotion492B91033686AC804859BDC0E748E497.gif

     文件      14633  2017-07-07 13:39  RichEditDemoDebugemotion5.gif

     文件      10363  2017-07-07 13:39  RichEditDemoDebugemotion56D2F097751DA3E5D70748E8C848E93E.gif

     文件      17005  2017-07-07 13:39  RichEditDemoDebugemotion59DED34AB37DC9301DD2375349629EBB.gif

     文件      29073  2017-07-07 13:39  RichEditDemoDebugemotion615CE2E8214839248F9B29E453419008.gif

     文件       3343  2017-07-07 13:39  RichEditDemoDebugemotion73AF6D3AD3DBFB6E4C8BB65D83F737E3.gif

     文件      25841  2017-07-07 13:39  RichEditDemoDebugemotion81AD9D86091BA127A6D469B2544FD48F.gif

     文件       5919  2017-07-07 13:39  RichEditDemoDebugemotion82A8C2AB2C16A43E9A1403292E419E36.gif

     文件       9800  2017-07-07 13:39  RichEditDemoDebugemotion8F7266FD0372EC1AF358A6041E3F416D.gif

     文件       5422  2017-07-07 13:39  RichEditDemoDebugemotion8FD97F60A050B5EE737EB1B77430FDCB.gif

     文件       6955  2017-07-07 13:39  RichEditDemoDebugemotion8FE11CC2FDDE631AC7ADA2EF576AD4DE.gif

     文件       4752  2017-07-07 13:39  RichEditDemoDebugemotion96F983D0749BC153DC8EF042C967E4EC.gif

     文件       3691  2017-07-07 13:39  RichEditDemoDebugemotion98DACDEDA0CFF88404F750D77D34B0F1.gif

............此处省略843个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)