酷,半透明和形状对话框与标准的控制Windows 2000及以上
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了酷,半透明和形状对话框与标准的控制Windows 2000及以上,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2588字,纯文字阅读大概需要4分钟。
内容图文
- 下载.NET demo (WinForms) - 280 KB
- 下载.NET source code (WinForms) - 175 KB
- 下载Native C++ demo (MFC VS2008) - 1.27 MB
- 下载Native C++ source (MFC VS2008) - 299 KB
- 下载Native C++ source (MFC VC6.0) - 1.04 MB
介绍 首先,让我向你展示一些截图捕获的演示程序。 程序演示了半透明兼容Windows 2000和更高的对话框。 背景 分层的窗户,从windows NT 5.0支持,提供一种方法来创建windows有复杂的形状与α混合效果。主要的挑战是如何在分层显示标准控件窗口。 下面显示了机制: 当创建对话框,一个假窗是由CreateWindowEx风格WS_EX_LAYERED, WS_EX_TRANSPARENT, WS_EX_NOACTIVATE。真正的窗口的alpha值将被修改为5 SetLayeredWindowAttributes这样真实窗户几乎是透明的。 真正的窗口负责处理用户输入事件和Windows消息;假的一个负责演讲。假窗口总是保持同样的大小/真正的地位。 我们如何显示标准控制假窗吗?表示需要刷新时,背景图像画。然后,所有子控件将被发送WM_PRINT消息,和画在同一位置假窗。特别是对于编辑控件,EditBox /可编辑的组合框等,我们需要画出自己脱字符号。 我们应该刷新显示?我们需要刷新假窗户上有一个更新UI。在演示中,递归地它钩到所有子控件,和改变指向地址通过SetWindowLongPtr GWLP_WNDPROC参数。 你可以得到更多的细节查看源代码。 使用本机c++ / MFC的代码 第一步 复制所有文件/ Src / *。*您的项目。 第二步 你需要一个图像文件的对话框背景。你最好选择PNG或TIFF支持alpha通道。图像文件可以嵌入到一个资源或放在磁盘,评判自己。 最后一步 取代基类从CDialog CImgDialogBase所示的对话框。 隐藏,复制Code
// Load from disk file CDemo2Dlg::CDemo2Dlg(CWnd* pParent /*=NULL*/) : CImgDialogBase( CDemo2Dlg::IDD , CUtility::GetModulePath() + _T("background.png") , pParent ) { } // Or load from resource CDemo3Dlg::CDemo3Dlg(CWnd* pParent /*=NULL*/) : CImgDialogBase(CDemo3Dlg::IDD , IDB_PNG_DLG2 , _T("PNG") , AfxGetResourceHandle() , pParent ) { }
在WinForms / net中使用的代码 第一步 复制文件/ Src / *。*目录到您的项目。 第二步 你需要一个图像文件的对话框背景。你最好选择PNG或TIFF支持alpha通道。 最后一步 取代基类从形式到ImageDlgBase所示的对话框。 隐藏,复制Code
public partial class Form2 : CoolImageDlg.ImageDlgBase { public Form2() { base.DlgBgImg = ImgDlgSample.Properties.Resources.DemoDlgBg2; //...... } }
一些重要的事情 对话框,如果有工作需要更新一个像素,整个窗口将被刷新。因此,如果对话框非常大而复杂的,或者有很多子控件,它可能会导致性能问题。 的一些控件无法使用WM_PRINT;在这种情况下,控制不会正确显示。换句话说,并不是所有的控件都支持。 示例代码使用GDI +从Zoltan Csizmadia助手类。对于那些不想使用GDIPlus。dll, CxImage是另一个选择。 大多数的机器使用96 DPI的显示器设置。这些机器的使用一个不寻常的DPI设置,请注意演示并不意味着这样的设置和子控件将是错误的。您需要添加自己的代码重新布局的子控件,如果你需要支持不同寻常的dpi。 本文转载于:http://www.diyabc.com/frontweb/news11995.html
内容总结
以上是互联网集市为您收集整理的酷,半透明和形状对话框与标准的控制Windows 2000及以上全部内容,希望文章能够帮你解决酷,半透明和形状对话框与标准的控制Windows 2000及以上所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。