有关无边框对话框程序的一些问题

nokia007 2010-04-25 07:02:42
1.一般程序打开后会在任务栏有一个按钮,点一下就最小化,再点一下就还原,但是无边框对话框程序(boder = none)怎么点都没用,请问如何实现一般程序那样的效果?
2.vista下面一般程序可以很“优雅”地最小化/还原,就是那种特效。无边框对话框程序使用SC_MINIMIZE消息最小化的时候是窗口突然消失,没有那种特效。有没有办法实现一般程序那样的效果?
3.OnPaint里面的CPaintDC 需不需要销毁;如果需要,怎样销毁?
...全文
258 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh9168com 2010-09-11
  • 打赏
  • 举报
回复
哦..
nokia007 2010-04-25
  • 打赏
  • 举报
回复
谢谢,1和3都解决了。有关vista下最小化特效还是老样子。都是发送SC_MINIMIZE,怎么就不行呢。
这不是鸭头 2010-04-25
  • 打赏
  • 举报
回复
ModifyStyle(0, WS_SYSMENU|WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
尹成 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zgl7903 的回复:]
OnInitDialog() 中加入
SetWindowText( _T("My Dialog") );
ModifyStyle(0, WS_SYSMENU|WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
CPaintDC不需要销毁
[/Quote]正解
zgl7903 2010-04-25
  • 打赏
  • 举报
回复
OnInitDialog() 中加入
SetWindowText( _T("My Dialog") );
ModifyStyle(0, WS_SYSMENU|WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
CPaintDC不需要销毁
2010-08-07上传过一个1.0版的,那个是在XP的SP2系统上测试的。 没有发现单种颜色全透明失效的问题。后来在XP的SP3上运行了一下,发现单种颜色全透明失效! 很惊讶啊!同为XP,相同的函数(SetLayeredWindowAttributes)居然表现出不同的效果! 于是决定稍微改动一下程序,从原来的双缓存改为三缓存(哈哈,没错,是三缓存)。 于是程序运行表现良好了(并且可以使某种颜色的全透明和全部像素以某个透明值显示同时起作用)。 (WIN7上还没测试)。 程序浏览图像用的是GDI+库。 程序默认打开时会播放内置的一个Gif动态图片,窗口形状根据图片动态调整。 你可以打开其他图片以改变窗口的异形形状。 程序界面是一个三无窗口:无任务栏、无标题栏、无边框。 为方便控制,程序具有托盘图标,且托盘图标随Gif图像动态改变。 程序异形窗口用的函数是SetLayeredWindowAttributes,把某种颜色设为全透明。 并且该透明颜色在程序中有两种方法进行设置: 1.打开通用颜色对话框,选择一种颜色; 2.在窗口上双击鼠标,双击处的颜色作为透明色; 附件中的“虫子.gif”图片可以打开试试~~虫子好像在屏幕上爬似的~~ 程序附带浏览图片和截屏功能。 注意:保存gif图片只能保存单帧。本来想用Gdi+的SaveAdd方法保存多帧,却发现老是失败并返回Win32Error错误。 网上一搜发现原来Gdi+不支持Gif多帧的保存功能,只支持tiff的多帧保存,而且tiff多帧保存后也没有时间戳。 所以只得放弃。 左键可以拖动窗口移动。 程序只允许运行一个实例。注册了两个热键:Shift+F8和Shift+F9。 有问题联系:hastings1986@163.com

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧