博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SoUI笔记
阅读量:6226 次
发布时间:2019-06-21

本文共 859 字,大约阅读时间需要 2 分钟。

  hot3.png

  1. 自定义弹出框:

    1)弹出框的背景需要在入口函数安装钩子(用完需要卸载钩子CMenuWndHook::UnInstallHook):

    191537_tIIF_551683.png

    2)弹出框若提示语内容太多,换行后需要自适应高度,需要注意设置frameSize属性,该属性是必须:

    192219_WVHf_551683.png

  2. 自定义的非模式窗口,如果宽度或者高度小于200,需要设置minSize属性,因为SHostWnd默认最小是200x200。包括切换系统主题或者修改屏幕分辨率的时候,界面都会随之改变大小,设置minSize属性就可以强制窗口大小不变。

  3. 当使用SHostDialog或者继承类显示自定义的弹出窗口时,该窗口的布局文件根节点<SOUI>不能设置wndType="appMain"属性,否则该窗口退出时,消息会传递到父窗口,导致父窗口(主窗口)也跟着退出。

  4. 当<text>使用multiLines="1"时,为了让其父窗口能够自适应文本的高度,<text>必须设置maxWidth属性

    203601_MQd5_551683.png

    203601_7CyK_551683.png

  5. 启用Win7的毛玻璃效果,需要先设置窗口的<SOUI>节点属性translucent="0",然后注释OnCreate里面的DwmExtendFrameIntoClientArea,并调用DwmEnableBlurBehindWindow: 

int CMainDlg::OnCreate(LPCREATESTRUCT lpCreateStruct){#ifdef DWMBLUR	//win7毛玻璃开关	//MARGINS mar = {-1};	//DwmExtendFrameIntoClientArea(m_hWnd, &mar);	DWM_BLURBEHIND bb = {0};	bb.dwFlags = DWM_BB_ENABLE;	bb.fEnable = true;	bb.hRgnBlur = NULL;	DwmEnableBlurBehindWindow(m_hWnd, &bb);#endif}

 

转载于:https://my.oschina.net/seast/blog/593606

你可能感兴趣的文章
Wex5开发基础之微信支付
查看>>
JS之prototype基础篇
查看>>
如此熟悉 的梦境
查看>>
Dubbo注册到发布执行流程(原理)
查看>>
win7下centos 7安装
查看>>
暗巷网盘快捷下载器 V1.3绿色中文版
查看>>
如何还原Navicat for SQL Server的备份数据
查看>>
《人人都是产品经理》读记
查看>>
Java与C++语言在作用域上的差异浅析
查看>>
解决windows使用rsync同步到Linux权限问题
查看>>
__FILE__,__LINE__,__DATE__,__TIME__
查看>>
《途客圈创业记》读书笔记
查看>>
grep 匹配 以什么开头的内容
查看>>
使用蒙版制作动画
查看>>
windows安装lxml
查看>>
数据库中间件 MyCAT 源码分析 —— SQL ON MongoDB
查看>>
document.documentElement.clientwidth和document.body
查看>>
django orm中利用annotate进行group by
查看>>
CSS3———— animate(),transtion,transfrom.translate()
查看>>
[转载]JAVA中int、String的类型转换
查看>>