keichanぶろぐ

目次

Blog 利用状況

ニュース

FF XI

Profile

初音ミク

iKnow!

記事カテゴリ

書庫

日記カテゴリ

[C++][MFC] CProgressCtrl::SetMarquee

UNICODE 定義時にしか使えません。 ...なんでやねんorz

投稿日時 : 2008年9月17日 20:19

コメントを追加

# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 0:09 st.lain

CProgressCtrl::SetMarquee()の定義に飛んでみてください。
> #if (_WIN32_WINNT >= 0x0501) && defined(UNICODE)
なる一文が確認されないでしょうか?


# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 10:26 keichan

> st.lain さん
はい。確認した上での投稿です。
疑問に感じたのは、何故 && defined(UNICODE) を付けているのかというところです。

# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 10:45 st.lain

確かにメッセージ(PBM_SETMARQUEE)自体には文字列を
要求するパラメータは見当たらないですね。
# 確かにご指摘のとおり、条件にUNICODE制約が含まれている
# 意図がわかりませんね

確認はしてませんが、直接コントロールに対して
メッセージを送ってみては?

LRESULT lRet = SendMessage(
 m_progress.GetSafeHwnd(), PBM_SETMARQUEE, (WPARAM)TRUE, (LPARAM)nInterval);
ASSERT(lRet == TRUE);

になるんカナ。

# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 11:00 st.lain

SDK側では
> #if (_WIN32_WINNT >= 0x0501)
> #define PBM_SETMARQUEE (WM_USER+10)
> #endif // _WIN32_WINNT >= 0x0501
なので、WinVerさえ間違えなければ文字セットは
関係なくコンパイルはされると思います。

動くかどうかは(ry

# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 13:48 とっちゃん

ヘルプを見ても、UNICODEって記述はこれといってなさそうですね。

とすると、このメッセージのための段取りのどこかで何かあるか?くらいかな。<影響ありの場合

まぁ、その後ろに続くやつも、UNICODE でくくってるけど...w

都合悪い...ということであれば、connect でバグ報告するといいですよ。
#次期SPでは直してくれそうな気がする<ANSIでも使えるだけなのでw

その際には
CProgressCtrl* pWnd;
pWnd->SendMessage( PBM_SETMRQUEE, ... );
と、同じコードを自分で書かなければならない!と
すると、効果が高そうな気がしますw

#クラッシュ系じゃないから優先順位低いかもだけど...w

# re: [C++][MFC] CProgressCtrl::SetMarquee 2008/09/18 16:14 st.lain

> pWnd->SendMessage( PBM_SETMRQUEE, ... );
そうぢゃん。なんでわざわざGetSafeHwnd()使ったのやら。
MSDNからのコピペ癖直さないとアカンですよね orz

タイトル  
名前  
URL
コメント