SoUI笔记

  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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值