ウインドウを最小化しようとしたとき、
WM_SYSCOMMANDのSC_MINIMIZEが送られますが
最小化のアニメーションが完了したタイミング
で処理を行いたいのですが可能でしょうか?
可能だとするとどのような方法をとるのはよいかも
宜しくお願いします。

A 回答 (3件)

>そこまでシビアなところでしたら、


>SetWindowsHookExでWH_CALLWNDPROCRETかな?

よく考えるとそこまではいらないか。
DefWindowProc()にわたしてるんですよね?
WM_SYSCOMMAND。

ってことは、DefWindowProc()が制御を戻した後にチェックすればいいかと。
    • good
    • 0
この回答へのお礼

おっしゃるとおりでした。
LRESULT ret = DefWindowProc( hWnd , msg , wp , lp );
の後に処理を加えただけで、できました。
有難うございました。

お礼日時:2005/04/21 15:56

そこまでシビアなところでしたら、


SetWindowsHookExでWH_CALLWNDPROCRETかな?

http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0
この回答へのお礼

処理後のメッセージのみの受け取りもできるんですね。
参考になりました。

お礼日時:2005/04/21 15:54

WM_ACTIVATEかな?


VisualStudioならSpy++でみてればすぐわかるかと。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
WM_ACTIVATEだと(WM_ACTIVATEAPPも)アニメーションが終了する前
に受け取ってしまいます。

アニメーションが終了するタイミングですが
spy++でみるとWM_SYSCOMMANDのSC_MINIMIZE
P(ポスト)→S(送出)→R(送出したメッセージの戻り値)を最後にアニメーションが終了します。

WM_SYSCOMMANDのR(送出したメッセージの戻り値)のタイミングを検出すれば
いいのかと思うのですが、その方法がわかりません。

お礼日時:2005/04/21 13:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング