お世話になります。
今、メッセージを受信するとモーダレスダイアログが表示するように
処理をしています。そこで モーダレスダイアログ内では
別のカーソルに変更したいのですが、過去ログなどを参照してプログラミング
した結果うまくいきません。なお モーダレスダイアログ内では画像を
表示しています。もしかしてこれが関係しているのでしょうか??
どなたかご存知の方がおられましたらご教授お願いします。
VC++6.0 MFCで作成しています。ちなみにモーダレスダイアログクラスで
下記のように記述しました。
BOOL Cxxxxxxxx::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
HCURSOR hcursor;
hcursor = AfxGetApp()->LoadCursor(IDC_CROSS);
SetCursor( hcursor );
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
> return CDialog::OnSetCursor(pWnd, nHitTest, message);
ここで、元のカーソルに戻されてしまっています。
dairygoodsさん。ありがとうございます。
一つ 質問があるのですが
return CDialog::OnSetCursor(pWnd, nHitTest, message);
というのは ClassWizardでOnSetCursor()を挿入したときに
自動的に作られるものですよね??これを変更してやらないと
いけないのですか??それともOnSetCursor以外の方法で
カーソルを変更させてやらないといけないのでしょうか??
変更してください。
return TRUE;
メッセージハンドラを追加したとき、
元の機能も残すのか、元の機能は不要ですべて置き換えるのかは、
プログラマにしか判断できません。
dairygoodsさん。返事の方が遅れましてすいません。
おかげさまで カーソル変更を行うことができました。
しかし、失礼ながらもう一つ質問があります。
ダイアログにスクロールバーがついているのですが、
スクロールバー上でもカーソルが変更されてしまい、
スクロールやダイアログのサイズ伸縮ができない状況であります。
この問題はどのように対処すればよろしいのでしょうか??
ご迷惑おかけしますが、よろしくお願いします。
dairygoodsさん。すいません。自己解決しました。
nHitTestをクライアント領域のみにすれば処理できました。
いろいろご迷惑おかけしました。また何かありましたら
よろしくお願いします。