一个VB运得的问题??

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:57:15
单击按钮运行程序...

Form1.Show vbModal

'以下是调用一个类,是用来导出Excel数据的
Dim Cls_ReportExcel As New Cls_ReportExcel
Set Cls_ReportExcel = New Cls_ReportExcel
Call Cls_ReportExcel.ExportExcel_Card("CardInfo")
Set Cls_ReportExcel = Nothing

我想说的是,Form1中有一个进度条,用来显示导出进度,
如果设置显示模式为VBModal的话,必须得等时进度条跑到头才运行下面的代码,如果不设置为VBModal的话,就看不到效果了,那得等报表导出后才会看到效果.

现在我想实现的就是,Form1始终在窗体最上层,并且当进度条跑到头,Excel报表这时也打开.

请问如何实现啊......

谢谢了...

在你的这个程序中要使Form1始终在最上层只用在Form1.Show vbModal加一句:Form1.setfocus就可以了.
更通用的将窗体置于顶层的函数是这样的
在标准模块中写入下列代码:
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)

Sub ShowTop(Frm as From,Top as boolen)
Frm.Show VBModal
Frm.SetFocus
if Top=true then
SetWindowPos Frm.hwnd, -1, 0, 0, 0, 0, 3
else
SetWindowPos Frm.hwnd, -2, 0, 0, 0, 0, 3
end if
end sub

参数Frm是欲设置的窗体
参数Top布朗型,为True时置顶,为False时取消置顶.

楼上的大哥处理方法很好哦