Duilib – Label控件文本换行
1 Duilib Label控件文本换行 1.1 Label控件不自动换行的问题 Duilib的Label控件在默认情况下是不支持文本换行的,比如在界面xml中有下面的Label控件定义: <Label height="300" name="Label_Test" text="None" al…
- Duilib
- 2022-01-06
Duilib – RichEdit控件发送textchanged消息
1 RichEdit无法像Edit一样发出textchanged消息 最近在写一个小工具的时候,发现Duilib的RichEdit控件无法发出textchanged消息,就是说没有办法检测到RichEdit中的文本是否被改变,这限制了很多逻辑实现,比如说当当前RichEdit控件内的文本发生变化时,…
- Duilib
- 2021-11-22
Duilib – RichEdit和List等控件增加垂直滚动条vscrollbar和水平滚动条hscrollbar
1 在RichEdit控件中增加垂直滚动条和水平滚动条失败,不显示滚动条 之前在富文本编辑框控件RichEdit中使用属性 vscrollbar="true" autovscroll="true" 中调用垂直滚动条与自动滚动属性,总是没有在RichEdit的控件里面看到垂直滚动条。这几天通过查看官方…
- Duilib
- 2021-11-22
Duilib – 点击按钮弹出模态对话框
1 模态对话框 是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击确定或取消按钮等将该对话框关闭。模态对话框垄断了用户的输入。当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。模态对话框下,用户需要操作目标对话框就必须先操作模态对话…
- Duilib
- 2021-11-16
客户端开发GUI框架对比与技术选型总结
客户端开发GUI框架对比与技术选型总结 客户端开发技术日新月易,目前客户端开发的GUI框架选型大致会从以下几个技术路线中进行选择: 纯系统原生GUI库 第三方库 基于Chromium + Node.js 原生+cef 以上的技术各有优缺点。 我从我个人的开发以及学习经验出发,大致总结每一个GUI开发…
- GUI界面编程
- 2021-06-17
Duilib – 在同一台电脑上限制只能运行一个程序,防止软件多开
1 在同一台电脑上限制只能运行一个程序,防止软件多开 在开发Duilib程序时,我们经常需要限制在一个电脑上只能运行一个程序,防止软件多开,避免因软件多开导致出现的问题。 示例代码: #include "stdafx.h" int APIENTRY _tWinMain(HINSTANCE hInst…
- Duilib
- 2021-06-02
Duilib – 程序开机自启动
1 Windows程序开机自启动的原理 windows系统在开机的时候会主动从注册表处HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run读取该路径下所有的键值对并启动相关软件,所以我们如果要设置某个程序开机自启动就只需要在注…
- Duilib
- 2021-02-20
Duilib – duilib应用程序实现文件可拖拽的功能
在成熟的应用程序中,我们常常可以拖拽一个文件放到应用程序上即可实现在该应用程序中打开该文件的功能,比如说把一个图片拖拽到一个看图软件上即可在该软件上打开该文件。下面的文章描述了通过调用win32接口以及win32内置的消息机制即可实现文件拖拽功能。 1 必要的头文件 在duilib主窗口的头文件中包…
- Duilib
- 2021-02-09
Duilib – 点击程序关闭按钮最小化到托盘,点击托盘按钮恢复
1 功能描述 点击程序关闭按钮,程序最小化到托盘中并显示托盘图标; 单击图标,使窗口正常显示,右键图标显示菜单,点击程序关闭按钮退出程序。 2 实现 2.1 最小化到托盘功能实现 2.1.1 变量声明与函数声明 //定义托盘图标对象 NOTIFYICONDATA m_trayIcon; //添加托盘…
- Duilib
- 2021-02-09
Duilib – CDuiString转换为std::string
1 CDuiString转换为std::string 在visual studio中如果设置的是使用多字节字符集,那么就可以使用CDuiString类的GetData方法进行直接转换,如果设置的是使用Unicode字符集,那么需要将宽字节转换成多字节字符集。 从CDuiString转换为std::s…
- Duilib
- 2021-01-25
Duilib – pos和padding属性设置的顺序
1 Duilib中控件pos和padding属性设置的顺序 例如: pos属性设置 pos="10,10,100,30" 或者padding属性设置 padding="10,10,100,30" 这两者的属性设置值的顺序都是按照left(左)、top(上)、right(右)、bottom(下)的顺序…
- Duilib
- 2021-01-25
Duilib – RichEdit作为日志输出控件,更新日志内容后并自动跳到最后一行
1 编写界面xml 在界面xml中的需要添加日志显示的位置添加以下代码: <RichEdit name="RichEdit_Log" text="日志控件" multiline="true" vscrollbar="true" autovscroll="true" readonly="true…
- Duilib
- 2020-12-21