duilib的DuiMessageBox通用版

2024-04-26 13:32

本文主要是介绍duilib的DuiMessageBox通用版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用duilib开发的客户端,难免会需要弹出一些模态框,如果能像mfc中的AfxmessageBox那样指定标题、文字、按钮样式和图标类型,就会很方便使用了,此处借助duilib开发了一个通用的模态弹框DuiMessageBox,样式是项目中开发的样式,读者可以根据需要自行修改替换贴图,从而改为适合于自己项目的风格。

这里的是无xml的,窗口和控件都在代码中创建,当然也可以写一个xml来生成窗口,代码中主要用到了CRenderEngine::DrawHtmlText(m_PaintManager.GetPaintDC(), &m_PaintManager, rcText, sText, 0, NULL, NULL, nLinks, 0, DT_CALCRECT | DT_WORDBREAK)来计算文字的举行区域,从而来确定窗口的大小。

运行效果:

(1)文字折行显示

DuiMessageBox(m_hWnd, L"提示文本内容傻了点击发送考虑对方{\\n}奥斯卡的国家十多个", L"标题文字", MB_YESNO);

(2)自动适配长文字

DuiMessageBox(m_hWnd, L"提示文收到过水电费感受到发货本内容傻了点击发送考虑对方奥斯卡的国家十多个", L"标题文字", MB_OKCANCEL|MB_ICONWARNING);

asdf

下载地址(含duilib源码及20个Demo示例):

https://download.csdn.net/download/tulingwangbo/10650333

 

 

 

这篇关于duilib的DuiMessageBox通用版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937716

相关文章

DuiLib介绍及其消息处理剖析

DirectUI技术 DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的"DirectUI"技术广 泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,

duilib学习------网易云信点击combo控件,程序崩溃

前面所用的Combox控件,在vs2013中使用的时候,会莫名的崩溃,这个问题查了挺久,偶然间从网上得到了解决办法。 布局文件中这样写: <Combo class="list" name="combo" height="30" margin="0,12,0,0" padding="6" bkimage="file='../public/combo/normal.png' corner='5,5

duilib学习------网易云信combo控件

xml中加人:   <!--combobox--> <Combo class="list" name="combo" height="30" margin="0,12,0,0" padding="6" bkimage="file='../public/combo/normal.png' corner='5,5,30,5'"/>   (1)BasicForm.h bool OnCombo

duilib 界面库 实现timer定时器

看了大神介绍的duilib感觉已被同龄人狠狠地甩在背后。所以痛下决心,之后要多花时间写代码。 大神教程传送门: http://www.cnblogs.com/Alberl/p/3341956.html 现在的问题是想基于duilib实现一个timer定时器。工程基础大概是在 http://www.cnblogs.com/Alberl/p/3343763.html 因为自己的东西是基于

Duilib 窗口流程

从GameDemo.cpp看起   1回顾通常的sdk窗口程序流程:注册窗口-创建窗口-显示窗口-启动消息循环   1.1注册窗口类 Duilib中最平凡的真实窗口类是:CWindowWnd,关于窗口注册提供了两个函数,严格的说应该是几个: RegisterWindowClass() RegisterSuperclass() GetWindowClassName(

duilib主界面中创建mfc控件问题-未解决

1.要用到的MFC相关的头文件,需要放在duilib的头文件#include"UIlib.h"之前; 2.工程的设置需要将 MFC的使用 这项 从使用标准window改为 在共享DLL中使用MFC; 3. 按照教程上的步骤,在 CControlUI* CreateControl(LPCTSTR pstrClass)这个函数实现中 创建CButton,在CButton::Create函数时会有断

Duilib中的XML嵌套

duilib使用嵌套xml可以简化代码的书写,有利于模块化的页面布局分解,duilib库的xml嵌套主要有两种方式 方式一、以创建控件的方式嵌套xml 在CreateControl(LPCTSTR pstrClassname )中创建自定义的控件,并绑定到xml文件 1 CControlUI* FrameWnd::CreateControl( LPCTSTR pstrClassName )

如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)

关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的。 我直接说下对这个库的基本使用吧。 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术。 所以当我遇到这个库的时候 毅然选择用这个库写项目中的一部分了,就是treeview控件。 因为我的项目原来已经是一个成型的项目了,只是作为改进。如果将现有

MFC中应用duilib的相关兼容性问题处理

本文致力于解决在MFC中应用duilib的相关兼容性问题。   duilib非常强大,目前已经被各大公司广泛应用,但基本都是基于win32的;一份与MFC混合使用的DEMO,使得我们这些在老的MFC项目下久经UI之苦的看到了希望。   然而,就在我对这个MFCDEMO进行测试时,在基本功能正常的情况下,发现还是有少许的问题的,目前我发现的问题主要集中在键按键与鼠标按键方面,具体如下: 1

duilib中CWebBrowserUI的使用问题解决

最近在使用CWebBrowserUI时,发现了几个问题,特此记录。 在xml中的标签如下: <WebBrowser name="ie" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false"/> 在程序中加载如下: CWebBrowserUI* pWebBrowser = static_cas