TC官方合作论坛

 找回密码
 立即注册

求教,TC能否实现类似qq的 图片浏览弹窗

查看数: 690 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-10-7 20:01

正文摘要:

如下图,点击图片后弹出浏览窗口,窗口要没有标题,窗口的大小自适应图片大小,窗口能透明的话,那就完美了。 请高手赐教,或者给个思路。 ...

回复

sanmaodo 发表于 2015-10-12 14:09:54
超自然 发表于 2015-10-12 08:53
源码不好拆开,我偷懒,没另起工程.直接拿之前做的正常控件工程改的
其实用的无非就是真彩窗口和真彩图画板稍 ...

理解。
TC的示例“橡皮筋”,好像也包含了弹窗的代码,能否帮我确认一下?
超自然 发表于 2015-10-12 08:53:52
源码不好拆开,我偷懒,没另起工程.直接拿之前做的正常控件工程改的
其实用的无非就是真彩窗口和真彩图画板稍加变化就出来了
整个工程包含20多个控件,实在不好拆开.不好意思
sanmaodo 发表于 2015-10-9 14:14:21
超自然 发表于 2015-10-8 19:34
无聊写了个玩玩,没写那些键盘鼠标操作.效果大概就这样

真不错,就是要这个效果。
爱上老公 发表于 2015-10-9 09:09:10
自然大神的自然要支持
超自然 发表于 2015-10-8 19:34:59


无聊写了个玩玩,没写那些键盘鼠标操作.效果大概就这样
仿qq图片查看.rar (3.74 MB, 下载次数: 550)

评分

参与人数 0威望 +10 金币 +10 收起 理由
sanmaodo + 10 + 10 有源码就太好了

查看全部评分

sanmaodo 发表于 2015-10-8 13:26:55
超自然 发表于 2015-10-8 12:36
1:窗口背景是透明的,要将创建的窗口设置成分层窗口,修改风格之后用UpdateLayeredWindow先把透明度搞起来. ...

非常感谢!!!
超自然 发表于 2015-10-8 12:36:59
sanmaodo 发表于 2015-10-8 11:08
多谢版主指点,TC果然很强大,只是感觉过程可能会比较复杂。

关于第4,5点有没有可以借鉴的例子或资料? ...

1:窗口背景是透明的,要将创建的窗口设置成分层窗口,修改风格之后用UpdateLayeredWindow先把透明度搞起来.
2:用CreateCompatibleDC弄个内存DC,也就是画布了
3:CreateDIBSection创建个兼容图形.至此,你已经把一个窗口设置成分层窗口,并且已经半透明,内存里有了一个DC,也有了个空白的兼容图形.
4:初始化GDI+,创建个基于内存DC的图形指针
4-1:用GdipLoadImageFromFile将图片读入,变成图像指针
4-2用GdipDrawImageRectRect将图像指针画到图形指针上,这时候可以控制画出的大小
这里因为你的GDI+图形是基于内存DC的,所以画在图形上等于画在内存DC上
5:还是用UpdateLayeredWindow复合内存DC到窗口实例上,因为是分层窗口windows会帮你刷新的
到这就看到半透明窗口上挂着个图片了
至于想支持鼠标滚轮缩放,键盘什么的,就在消息里面再画一遍,最后更新出去就行
切记各种对象用完了要销毁,否则会内存泄露

评分

参与人数 0威望 +10 金币 +10 收起 理由
sanmaodo + 10 + 10 很给力!

查看全部评分

sanmaodo 发表于 2015-10-8 11:08:01
超自然 发表于 2015-10-8 09:02
这是画出来的,TC也可以
1:自己注册个窗口类
2:创建个窗口实例

多谢版主指点,TC果然很强大,只是感觉过程可能会比较复杂。

关于第4,5点有没有可以借鉴的例子或资料?TC的网络资料目前不太多,只怕我等新手跨不过这个坑。
关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-19 15:44 , Processed in 0.209820 second(s), 29 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表