VB添加了flash控件后,文字和其他图片都被挡在下面了

 我来答
LzSkyline
2014-04-16 · TA获得超过565个赞
知道小有建树答主
回答量:578
采纳率:0%
帮助的人:298万
展开全部

一般情况下 控件可以用ZOrder这个方法置前置后

 

如果像是Label这种控件  用Zorder不能实现置前  你可以使用一个API

Declare Function SetwindowPos Lib "user32.dll" (ByVal hwnd As Long,ByVal hWndInsertAfter As Long,ByVal x As Long,ByVal y As Long,ByVal cx As Long,ByVal cy As Long,ByVal wFlags as Long)As Long

 

我从百度上找了一段现成的例子 你看看吧

下面,我们以一个简单的例子说明SetWindowPos函数的用法及如何实现TopMost类型窗口。新建工程,在普通窗体Form1上放置两个命令按钮cmdNormal和cmdTopMost,命令按钮的Caption属性分别为“变成普通窗口”和“变成TopMost窗口”。cmdNormal的Enabled属性为False。为工程添加代码模块Moudall,在其中放置如下声明代码:

Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long,ByVal hWndInsertAfter As Long,ByVal x As Long,ByVal y As Long, ByVal cx As Long, ByVal cy As Long,ByVal wFlags As Long) As Long

 Public Const SWP_NOMOVE= &H2 '不移动窗体

Public Const SWP_NOSIZE=&H1 '不改变窗体尺寸

Public Const Flag=SWP_NOMOVE Or SWP_NOSIZE

 Public Const HWND_TOPMOST=-1 '窗体总在最前面

Public Const HWND_NOTOPMOST=-2 '窗体不在最前面

 为窗体添加代码如下:

Private Sub cmdNormal_Click()

    cmdTopMost.Enabled=True

    cmdNormal. Enabled= False

    Form1.Captio = "现在是普通窗口"

SetWindowPos Form1.hwnd,HWND_NOTOPMOST,0,0,0,0,Flag

 End Sub

 Private Sub cmdTopMost_Click()

    cmdTopMost.Enabled = False

    cmdNormal.Enabled = True

    Form1.Caption = "现在是TopMost窗口"

SetWindowPos Form1.hwnd,HWND_TOPMOST,0,0,0,0,Flag

 End Sub

按下F5,运行程序,单击“变成TopMost窗体”命令按钮,此时窗口即成为TopMost类型。随意打开桌面上的其它窗口,Form1总是处在其它窗口的前面;如果单击“变成普通窗体”按钮。则一切又恢复正常,一旦打开了其它窗口,则其它窗口会将Form1窗口覆盖。

    本程序用Visual Basic 5.0编写,在Pwin95、Pwin97环境下运行正常。
chinaboyzyq
2014-04-11 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3153万
展开全部
改变z序……
更多追问追答
追问

没用

这是原工程

这是添加了控件以后的

追答
把背景放入picturebox里,然后改z序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式