TC官方合作论坛

 找回密码
 立即注册
查看: 689|回复: 10
打印 上一主题 下一主题

[已解决] 求教,TC能否实现类似qq的 图片浏览弹窗

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-7 20:01:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

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



回复

使用道具 举报

沙发
发表于 2015-10-8 09:02:38 | 只看该作者
这是画出来的,TC也可以
1:自己注册个窗口类
2:创建个窗口实例
3:Hook实例的消息循环等下用来响应键盘鼠标的操作
4:创建个内存画布
5:调gdi+把图画到画布上
6:把画布贴出来到窗口DC上
过程就这样,别怀疑能不能做到,我那些自绘控件也差不多是这样实现的,写不写得出来就看你自己了

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-10-8 11:08:01 | 只看该作者
超自然 发表于 2015-10-8 09:02
这是画出来的,TC也可以
1:自己注册个窗口类
2:创建个窗口实例

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

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

使用道具 举报

地板
发表于 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 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

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

非常感谢!!!
回复 支持 反对

使用道具 举报

6#
发表于 2015-10-8 19:34:59 | 只看该作者


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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

7#
发表于 2015-10-9 09:09:10 | 只看该作者
自然大神的自然要支持
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2015-10-9 14:14:21 | 只看该作者
超自然 发表于 2015-10-8 19:34
无聊写了个玩玩,没写那些键盘鼠标操作.效果大概就这样

真不错,就是要这个效果。
回复 支持 反对

使用道具 举报

9#
发表于 2015-10-12 08:53:52 | 只看该作者
源码不好拆开,我偷懒,没另起工程.直接拿之前做的正常控件工程改的
其实用的无非就是真彩窗口和真彩图画板稍加变化就出来了
整个工程包含20多个控件,实在不好拆开.不好意思
回复 支持 反对

使用道具 举报

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

理解。
TC的示例“橡皮筋”,好像也包含了弹窗的代码,能否帮我确认一下?
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-19 15:38 , Processed in 0.201745 second(s), 27 queries .

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

© 2001-2013 Comsenz Inc.

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