初步了解win32界面库DuiLib

2023-05-16

DuiLib是一个开源win32界面库;下载地址:https://github.com/duilib/duilib

可以做类似一些杀毒软件的界面;效果还是比较好;

先下载一个demo看一下;

当前开发工具只有VS2010 Express版本;打开看一下;DuiLib项目是源码;MFCDemo是示例;

    VS2010 Express不支持MFC,所以有问题,不能运行demo;  在解决方案中添加一个win32项目,空项目;名为duidemo;

新建一个demo.cpp;

#include "..\DuiLib\UIlib.h"

#ifdef _DEBUG
#   ifdef _UNICODE
#       pragma comment(lib, "DuiLib_ud.lib")
#   else
#       pragma comment(lib, "DuiLib_d.lib")
#   endif
#else
#   ifdef _UNICODE
#       pragma comment(lib, "DuiLib_u.lib")
#   else
#       pragma comment(lib, "DuiLib.lib")
#   endif
#endif

using namespace DuiLib;

class TestFrame : public WindowImplBase
{
public:
    TestFrame(){}
    ~TestFrame(){}

    virtual CDuiString GetSkinFolder()
    {
        return _T("");
    }
    virtual CDuiString GetSkinFile()
    {
        return _T("demo.xml");
    }
    virtual LPCTSTR GetWindowClassName(void) const
    {
        return _T("TestWindowClass");
    }
    virtual LRESULT OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
    {
        PostQuitMessage(0);
        return 0;
    }

    virtual void Notify(TNotifyUI& msg)
    {
        if (msg.sType == _T("click"))
        {
            if (msg.pSender->GetName() == _T("buttonName1"))
            {
                ::MessageBox(NULL, _T("buttonName1 has been clicked"), _T(""), NULL);
            }
        }
    }
    
private:

};

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow)
{
    CPaintManagerUI::SetInstance(hInstance);

    HRESULT Hr = ::CoInitialize(NULL);
    if (FAILED(Hr)) return 0;

    TestFrame* pFrame = new TestFrame();
    if (pFrame == NULL) return 0;
    pFrame->Create(NULL, _T("TestWindow"), UI_WNDSTYLE_FRAME, 0, 0, 0, 0, 0);
    pFrame->CenterWindow();
    ::ShowWindow(*pFrame, SW_SHOW);

    CPaintManagerUI::MessageLoop();

    ::CoUninitialize();
    return 0;
}

构建一下,没找到lib文件;

使用绝对路径看一下;还是没找到lib文件;打开示例文件夹,原来它只有dll,没有lib;

lib和dll是生成DuiLib项目得到的;生成此项目;生成出错;可能express版本有些问题;

下载一份网友生成好的lib和dll,如下;拷贝到duidemo文件夹;生成,失败;

再下一份网友生成好的lib,如下;

生成成功;如下;当前电脑的应用程序策略限制不能运行额外的exe,可自己生成看;简单示例只是一个窗口和按钮;

必须按它原来的解决方案结构来;因为包含的头文件又包含其他一堆头文件;
 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初步了解win32界面库DuiLib 的相关文章

随机推荐

  • 面试题测试

    1 如何在springboot启动时 xff0c 获取 data 目录下的所有文件名 您可以使用Java的File类来获取指定目录下的所有文件名 以下是一种在Spring Boot应用程序启动时获取指定目录下所有文件名的方法 xff1a 在
  • Ubuntu16.04安装caffe非常细致教程(历经两周的血泪史)

    我这两周安装了很多次caffe xff0c 一直都是按照网上的教程 xff0c 资料很多 xff0c 但是说的感觉都不太全面 xff0c 对于我这一个首次接触Ubuntu系统的小白而言 xff0c 每一步操作都是感觉如临深渊 所以想写一篇教
  • 源码安装gcc

    安装 contrib download prerequisites configure prefix 61 usr local gcc enable bootstrap enable checking 61 release enable l
  • 数据库详细思维导图,期末考试、复试必备

    数据库 一 xff1a 数据库绪论数据 xff08 Data xff09 数据库 xff08 Database xff0c 简称DB xff09 数据库管理系统 xff08 DBMS xff09 数据冗余度 xff1a 数据的安全性 xff
  • 目标检测中删除不一致的xml和jpg文件

    34 34 34 删除image和xml不对应的文件 34 34 34 import os import shutil file name 1 61 r 34 10 11Image img 34 图片文件存放地址 file name 2 6
  • 使用cas-overlay-template 6.2服务部署到整合cas-client

    1 什么sso是单点登录 单点登录 xff08 Single Sign On xff09 xff0c 简称为 SSO xff0c 是比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中 xff0c 用户只需要登录一次就可以访
  • 单例模式-双重锁

    public class Singleton private static volatile Singleton singleton volatile 相当于防止下面两个 61 61 null 判断不被打乱 private Singleto
  • 基于STM32的12864液晶理解

    前言 字符型液晶显示模块是一种专门用于显示字母 数字 符号等点阵式 LCD xff0c 目前常用 161 xff0c 162 xff0c 202 和 402 行等的模块 上面指的是以字符为单位 xff0c 如161 xff0c 也就是1行1
  • Django rest-framework类视图大全

    视图分类 视图类 GenericAPIView xff1a 包含两大视图类 xff08 APIView GenericAPIView xff09 视图工具类 mixins xff1a 包含五大工具类 xff0c 六大工具方法工具视图类 ge
  • JS中? ?和??=和?.和 ||的区别

    undefined和null是两个比较特殊的数据类型 是不能用点操作符去访问属性的 xff0c 否则将会报错 let a console log a name undefined console log a name 报错 let obj
  • 几款好用的串口和网络调试助手

    和嵌入式厮混在一起总得用几个趁手的调试助手 xff0c 这里介绍几个用过的串口和网络调试助手 xff0c 各有千秋 这也只是我自己使用过的 xff0c 如果又更好 xff0c 也请大家分享一下 xff1a 1 丁丁串口调试助手 这是我最常用
  • 软件设计工程——结构化分析与设计

    结构化分析方法 数据流图 便于用户理解 分析系统数据流程的图形工具 基本图形元素 数据流 xff1a 由固定成分的数据组成 xff0c 表示数据的流向 xff1b 加工 xff1a 描述输入数据流到输出数据流之间的变换 xff1b 数据存储
  • Java面试:接口(Interface)与抽象类(Abstract Class)的区别?

    什么是抽象类 xff1f 包含抽象方法的类 xff0c 是对一系列看上去不同 xff0c 但是本质上相同的具体概念的抽象 抽象类的作用 xff1f 用于拓展对象的行为功能 xff0c 一个抽象类可以有任意个可能的具体实现方式 抽象方法是一种
  • 解决Win10/11有线网(包括校园网)频繁掉线问题

    我连的是校园有线网 xff0c 但以下方法应该能够同时解决wifi出现频繁断连 默认网关不可用的问题 从去年开始我的电脑就有校园网断开的问题 xff0c 但不频繁 xff0c 当时没太在意 xff0c 但今年开学这个问题忽然严重 xff0c
  • python数据分析-Mysql8.0版本用sqlyog连接1251错误解决

    用sqlyog连接8 0 23版本的mysql发生1251错误 下载8 0版本的mysql时候发现最好直接下载 msi的安装文件 xff0c 方便许多 xff0c 好 xff0c 接下来说问题 因为之前装的是5 5版本的 xff0c 但是t
  • 怎么在android中创建raw文件

    怎么在android中创建raw文件 标题 1 2 3 这样即可以
  • form表单中把星号*去掉

    只需要把required true去掉就好了 关于表单验证中会有许多的细节问题需要注意 写法有很多种 注意格式 还有一点 xff0c 如果验证方法是写在行内 xff0c 那么他的方法需要在methods种写
  • 移动端开发的vconsole插件

    vConsole A lightweight extendable front end developer tool for mobile web page 一个轻量级 可扩展的移动网页前端开发工具 是腾讯的一个开源工具 功能 xff1a
  • vite打包工具的介绍

    vite Vite是Vue的作者尤雨溪开发的Web开发构建工具 xff0c 它是一个基于浏览器原生ES模块导入的开发服务器 xff0c 在开发环境下 xff0c 利用浏览器去解析import xff0c 在服务器端按需编译返回 xff0c
  • 初步了解win32界面库DuiLib

    DuiLib是一个开源win32界面库 xff1b 下载地址 xff1a https github com duilib duilib 可以做类似一些杀毒软件的界面 xff1b 效果还是比较好 xff1b 先下载一个demo看一下 xff1