|
▼miyake さん:
こんばんは。
>いつもお世話になっております。
>進行状況を表示する方法、たとえば、終了ボタンを押すと、「ただいま終了中です」のようなメッセージをメッセージボックス等に表示させる方法を考えています。
>
>下記は、フォーム(frmフォーム1)上にボタン(cmd終了)を割り付け、終了処理をするものです。
>フォームのCaptionにはメッセージが表示されますが、メッセージボックス等により、メッセージを画面の前面に表示させたいのです。
私は、こういう場合は、動的にラベルコントロールを貼り付けたり、
消したりしています。一例ですが、
'===========================================================
Private Sub CommandButton1_Click()
Call disp_mes(True, UserForm1, "終了の処理中")
DoEvents
For i = 1 To 1000000
j = j + 1
Next
Call disp_mes(False, UserForm1)
End Sub
'==========================================================
Sub disp_mes(dsp As Boolean, frm, Optional mes As String)
Static lbl As msforms.Control
If dsp = True Then
Set lbl = frm.Controls.Add("Forms.Label.1", "end_mes", False)
With lbl
.Width = (Len(mes) + 1) * 24
.Top = frm.Height / 3
.Left = (frm.Width - .Width) / 2
.Height = 34
.SpecialEffect = fmSpecialEffectSunken
.BackColor = &H80FFFF
.TextAlign = fmTextAlignCenter
.Font.Size = 24
.Caption = mes
.Visible = True
End With
Else
If Not lbl Is Nothing Then
frm.Controls.Remove lbl.Name
Set lbl = Nothing
End If
End If
End Sub
複数のユーザーフォームで同様な処理をするときなんかは、
いいかもしれませんよ!!
試してみて下さい。
|
|