1 Dec 2004

MFCで作ったダイアログを非表示にしたい

Google先生登録早いね。先日書いたグローバルフックの話に、グーグルからアクセスがあった。しかもそのキーワードで打ってみたら8番目に表示されてるし。ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

たまには日記だけじゃなくて他の人の役に立つ情報も載せていくとアクセスがあってうれしいね。というわけで今日はMFCの情報を。

MFCのウィザードで作ったダイアログを見えなくさせたい時って、まず思いつくのはhogehogeDlg.cppのOnInitDialog()の中でShowWindow( SW_HIDE )を使うこと。これをやってみても何も起こらない。次に思いつくのはOnPaint()の中身を消してしまうこと。これをすると消えるには消えるのだが、起動した瞬間はベロッと一瞬見えてしまってカッコワルイ。それを回避するには呼び出し元がDoModal()で読んでいるので、hogehogeApp.cppのDlg.DoModal();をしているところをコメントアウトし、モーダルダイアログではなくモーダレスダイアログとして呼べばいい。

dlg.DoModal()

の代わりに

dlg.Create(IDD_DIALOG);
dlg.ShowWindow(SW_HIDE);
dlg.RunModalLoop(MLF_NOKICKIDLE);

を突っ込めばいいと思われる。あとはメモリリークしないようにしておくことが重要。

今作ってるアプリはメモリリークしてる予感(´・ェ・`)

◆朝
目覚まし:8:00
起床:12:00

午後一に授業あるのにお昼まで寝ててその上家を出たのはごきげんようが始まってから。学校について最後30分だけ出るかーと思っていたら同じ研究室の同じ学年の人が研究室にいて、「授業なくなったじゃん」とのこと。知らねーYOヽ(`Д´)ノ
◆ヘルスメーター
64.4kg 19.8% 1545kcal
→ 標準・筋肉Lv4/9

今日は半日寝てたのでエネルギー消費して居ないのと、運動していないので太ったのかも。

投稿者 hilo : 23:31 | Program関連

トラックバック

このエントリーのトラックバックURL:
http://hilo.s55.xrea.com/tt-cgi/tt_tb.cgi/85

コメント

コメントしてください




保存しますか? はいいいえ