- ベストアンサー
最小化時の事で・・・
最小化時の事についての質問です。(^^; ShowInTaskbar=Falseの状態で最小化ボタンを押すと、 アニメーションが下の方に向かって行われるのですが、 このアニメーションを”無し”または”上の方向”に する事はできるのでしょうか? 最小化ボタンを押した時はフォームを非表示にして タスクアイコンのみになるようにしているのですが、 最小化アニメーションが下方の為、何とかしたいです。 方法または、他に良い案などありましたら、 アドバイス等を宜しくお願いします。 m(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
アニメーション止めるだけじゃダメ? なら、最小化をキャンセルしてやりゃいい フックしているから、必ずアンロードイベントを発生させるがヨロシ 非表示になった後、復帰に困るから、タイマーで3秒後に復活させてる 上にしまいこみたいなら、#1のURLとこれを組み合わせたら、どこにでもアニメーションでける 試してやってみるがヨロシ これフォームモジュールにはる Option Explicit Private Sub Form_Load() Me.Timer1.Enabled = False Me.Timer1.Interval = 3000 Call setSubClass(Me.hWnd) End Sub Private Sub Form_Unload(Cancel As Integer) Call freeSubClass(Me.hWnd) End Sub Private Sub Timer1_Timer() Me.Timer1.Enabled = False Me.Visible = True End Sub これ標準モジュールにはる Option Explicit Private Const GWL_WNDPROC = (-4) Private Const WM_SYSCOMMAND = &H112& Private Const SC_MINIMIZE = &HF020& Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private pPlocWnd As Long Public Function WindowProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If (uMsg = WM_SYSCOMMAND) Then If wParam = SC_MINIMIZE Then If Form1.Visible Then Form1.Visible = False Form1.Timer1.Enabled = True Exit Function End If End If End If PGMEND: WindowProc = CallWindowProc(pPlocWnd, hWnd, uMsg, wParam, lParam) End Function 'サブクラス化 Public Function setSubClass(inWnd As Long) As Long Call freeSubClass(inWnd) pPlocWnd = SetWindowLong(inWnd, GWL_WNDPROC, AddressOf WindowProc) End Function 'サブクラス化解除 Public Function freeSubClass(inWnd As Long) As Boolean If pPlocWnd <> 0 Then Call SetWindowLong(inWnd, GWL_WNDPROC, pPlocWnd) pPlocWnd = 0 End If freeSubClass = True End Function
その他の回答 (1)
- 2ch
- ベストアンサー率51% (64/125)
http://www.vbvbvb.com/jp/gtips/0501/gSystemParametersInfoSpiGetAnimation.html http://www.vbvbvb.com/jp/gtips/0601/gSystemParametersInfoSpiSetAnimation.html http://www.mitene.or.jp/~sugisita/family/papa/vb/api_wndw.html のフォームのアニメーション効果
お礼
先日の質問にも回答していただき、ありがとうございます。 参考URL先の方法でも最小化のアニメーションが、 ほとんど変わりませんでした・・・。(^^; 最小化ボタンを押した時に最小化せず、 フォームだけ隠すという事だけでもいいのですが。 もう少し締め切りを待ちたいと思います。 (自分でも検索中です。)
お礼
度々回答を頂き、ほんとうにどうもありがとうございます 。 m(_ _)m 無事、やろうと思っていたことができるようになりました。 丁度今、フックというものについて色々調べているところで、 それについても参考になりました。 まだまだ覚える事がいっぱいです。(^^;ゞ これで締め切りたいと思います、ありがとうございました。