VB6 API SetLayeredWindowAttributes遇到的问题

三断笛 2009-01-15 08:50:14
有两个奇怪的问题,是一个类型QQ宠物的桌面程序,用SetLayeredWindowAttributes屏幕掉了背景色,只显示前端的Flash,但是我发现 在大部分机器上运行正确而在某些机器上却没有屏幕背景色我的语句是:



Dim Rtn As Long

Rtn = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Rtn = Rtn Or WS_EX_LAYERED
Rtn = SetWindowLong(Me.hWnd, GWL_EXSTYLE, Rtn)
Rtn=SetLayeredWindowAttributes(me.hWnd, me.BackColor, 0, LWA_COLORKEY) '此时我设置的背景色是纯黑

Me.show

另外我发现,只有在调色板选项卡里设置的颜色才可以被屏幕,而系统选项卡中设置系统颜色是无法被屏幕的,不知为何
...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2009-01-28
  • 打赏
  • 举报
回复
.................
Tiger_Zhao 2009-01-19
  • 打赏
  • 举报
回复
回错贴了,上面的回复作废!
Tiger_Zhao 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sysdzw 的回复:]
我输入“他们”然后另存为一下 用ue打开 切换16进制得到的是下面的,不知怎么回事,不过本来的问题已经解决,谢谢!
FF FE D6 4E EC 4E
[/Quote]
这是 Unicode 编码!看仔细了。
Tiger_Zhao 2009-01-16
  • 打赏
  • 举报
回复
用 OleTranslateColor() 将 Me.BackColor 转化一下就可以了。
三断笛 2009-01-16
  • 打赏
  • 举报
回复
发现问题所在,似乎是客户端Flash控件版本较低引起的

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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