[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/06/17(Sat) 11:54
投稿者名:おじん
Eメール:
URL :
タイトル:
Formを最小化したとき
いつもご指導ありがとうございます。
フォームを最小化したとき、その間にもフォーム内で実行されている
状況をタイトルに表示したいと思っています。
例えば下記のように、「経過時間」を例にしてテストしてみたのですが
タイトルの内容は変化しません。
API間ではなく、
Timer1.Interval=1000とし、
Timer1内で
wTtime=wTime+1
Me.Caption=wTimeとしても同様に変化しません。
最小化した場合はプログラムは「停止」しているのでしょうか。
よろしくご指導ください。

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Dim wtime&

Private Sub Form1_Click()
'キャプチャー開示
    Timer1.Enabled = True 'タイマー開始
    wtime = timeGetTime()
    Me.WindowState = 1 'Window最小化
End Sub
    
Private Sub Timer1_Timer()
    Me.Caption = "経過:" & (timeGetTime - wtime) \ 1000
End Sub

投稿時間:2006/06/17(Sat) 13:13
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Formを最小化したとき
Private Sub Form_Click()
'キャプチャー開示
    Timer1.Enabled = True 'タイマー開始
    Timer1.Interval = 200
    wtime = timeGetTime()
    Me.WindowState = 1 'Window最小化
End Sub

上記で、最小化した時も動いていますよ。

Private Sub Form1_Click()  で 通常の状態では動いていますか?
 Form1 の部分間違っていませんか?

投稿時間:2006/06/17(Sat) 13:49
投稿者名:おじん
Eメール:
URL :
タイトル:
Re^2: Formを最小化したとき
早速ありがとうございます。
> 上記で、最小化した時も動いていますよ。
そうですよね。フォームを隠して(最小化)して、処理をしたことは
ありますから。
> Private Sub Form1_Click()  で 通常の状態では動いていますか?
>  Form1 の部分間違っていませんか?
「通常の場合」とは=これを最大化した場合、タイトルバーの内容は
変化していますから、「動いている」ということでしょうか。
また、質問・説明が不適切、不十分だったようです。
最小化して、下のタスクバーに入れたとき、そこでこの例で言えば、
「経過時間」が変化しないのです。最小化したときの時間のままです。
上に出せばそれなりの経過時間が過ぎた「数値」にはなっています。
タスクバーにあるときは「タイトルバーの内容」=(Me.caption)が
反映されていない、のです。

投稿時間:2006/06/17(Sat) 14:36
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Formを最小化したとき
先にも書きましたが Form1_Click()  イベントはありませんよね。
         ( Form_Click()  ではないのですか )

従って、下記のコードは動作していない事になります。

Private Sub Form1_Click()
'キャプチャー開示
    Timer1.Enabled = True 'タイマー開始
    wtime = timeGetTime()
    Me.WindowState = 1 'Window最小化
End Sub

投稿時間:2006/06/17(Sat) 16:58
投稿者名:おじん
Eメール:
URL :
タイトル:
Re^4: 解決します
> 先にも書きましたが Form1_Click()  イベントはありませんよね。
>          ( Form_Click()  ではないのですか )
そのとおりでした。他にもコードがあり、抜粋するときコピーし間違って
いました(実コードではForm_Clickです)。
またTimerのIntervalも初期値(0)のままでした。少なくとも100ぐらいで
ないと、このコードでは無効のようです。API関数でうまくいかなかったのは
まだわかりませんが、チャレンジしてみます。
ご面倒をおかけしました。ありがどうございました。