| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2770 人关注过本帖, 1 人收藏
标题:如何用vb语言 实现制作一个桌面小程序(小盒子,无窗口,类似于QQ宠物)呢? ...
只看楼主 加入收藏
mywind123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-10
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:11 
如何用vb语言 实现制作一个桌面小程序(小盒子,无窗口,类似于QQ宠物)呢?
如题,初学者求大概思路,各位大神走过路过千万不要错过啊!多谢了!
搜索更多相关主题的帖子: QQ宠物 如何 制作 
2014-12-10 20:14
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
QQ宠物,不是没有窗口。而是它的窗口是不规则的。

你去搜索一下,不规则的窗口是如何生成的。
都是使用 API 把正常的窗口剪切成的。
依稀记的有二种方法。
一种是 描边界法生成区域法,一个是 掩模法(把不要显示的地方透明掉)。 QQ宠物应该是后一种。

授人于鱼,不如授人于渔
早已停用QQ了
2014-12-10 23:45
mywind123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-10
收藏
得分:0 
回复 2楼 风吹过b
如果我想搞一个无窗口的三维礼物盒,无窗口,该怎么实现呢?
2014-12-11 19:38
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:4 
貌似需要引用directx,创建directdraw对象。设置透明背景色等玩意儿,具体怎么弄的记不得了。但我记得那个代码起码得有四五十行
2014-12-11 22:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
不规律图形的窗体,建议使用第二次,你百度一下吧。我只知道有这两种方法,没去用过。

授人于鱼,不如授人于渔
早已停用QQ了
2014-12-11 23:25
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:4 
用窗体透明解决,就是活用几个api函数,很简单的。用于透明的图像最好使用bmp格式,否则边缘会不干净。
窗体透明.rar (222.19 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 xzlxzlxzl 于 2014-12-12 16:39 编辑 ]
2014-12-12 16:37
zhengang1026
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:136
专家分:409
注 册:2013-2-6
收藏
得分:4 
回复 6楼 xzlxzlxzl
做的好,真棒!
2014-12-14 10:35
zhengang1026
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:136
专家分:409
注 册:2013-2-6
收藏
得分:0 
在xzlxzlxzl版主的代码中增添以下代码,即可移动窗体了。
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim oldX As Long, oldY As Long
Dim x1 As Long, y1 As Long
If Button = 1 Then
x1 = X - oldX: y1 = Y - oldY
oldX = X: oldY = Y
 Me.Left = Me.Left + x1 - Me.Width / 2
 Me.Top = Me.Top + y1 - Me.Height / 2
 End If
End Sub
2014-12-14 11:09
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
'Dim oldX As Long, oldY As Long纯粹画蛇添足,作为局部变量永远为零,下述代码即可移动

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 1 Then
    Me.Left = Me.Left + X - Me.Width / 2
    Me.Top = Me.Top + Y - Me.Height / 2
  End If
End Sub



[ 本帖最后由 xzlxzlxzl 于 2014-12-14 13:16 编辑 ]
2014-12-14 13:14
kaifener
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2014-7-7
收藏
得分:4 
我没有用那个3D的图片,随便换了张灰色背景的图片,发现背景颜色去不掉了,求指点,谢谢
2014-12-15 13:31
快速回复:如何用vb语言 实现制作一个桌面小程序(小盒子,无窗口,类似于QQ宠物 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017872 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved