画面は表示されていないが、砂時計を表示したい


VBかじり  2004-09-18 00:40:05  No: 85626

いつも勉強させてもらっています。


VBかじり  2004-09-18 00:44:00  No: 85627

↑失敗しました!!

続けての質問になってしまいますが、
VBで作成した画面からあるA.EXEを呼び出し、
A.EXEは画面のない処理とします。

その場合、A.EXE処理中に砂時計を表示したいのですが
画面のないEXEで砂時計を表示することは可能でしょうか?

ちなみに呼び出し元のほうは画面を最小化しています。

宜しくお願いいたします。


フォレスト  2004-09-18 04:04:03  No: 85628

回答ではなくてヒントになりますが、

考え方を変えて
「A.EXEでの処理中に砂時計表示」
ではなく、
「A.EXEに処理を渡す前にB.EXEで砂時計を表示、
B.EXEに処理が戻ってきたら砂時計解除」
※B.EXEは呼び出し元
にしても外見的には問題ないと思います(^^)/

呼び出し元は画面を最小化しているので砂時計表示できるか
どうか分かりません。

一応参考までに。。


ASD  2004-09-18 05:26:06  No: 85629

チップ集にフォームの外のマウスポインターを指定する方法がありましたので参考までに。最小化してもそのままでした。

Private Const IDC_APPSTARTING = 32650&
Private Const IDC_ARROW = 32512&
Private Const OCR_NORMAL = 32512&

Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, ByVal id As Long) As Boolean

Private Sub Command1_Click()
      'このボタンを押すとポインタが変わる
Dim hcursor As Long, ret_val As Long

       hcursor = LoadCursor(0, IDC_APPSTARTING)
       ret_val = SetSystemCursor(hcursor, OCR_NORMAL)
End Sub

Private Sub Command2_Click()
      Dim hcursor As Long, ret_val As Long

       hcursor = LoadCursor(0, IDC_ARROW)
       ret_val = SetSystemCursor(hcursor, OCR_NORMAL)
End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加