MFCでマウスカーソルと背景を変更したい – プログラミング – Home

MFCでマウスカーソルと背景を変更した...
 
通知
すべてクリア

[解決済] MFCでマウスカーソルと背景を変更したい


PARMA
 PARMA
(@PARMA)
ゲスト
結合: 20年前
投稿: 10
Topic starter  

マウスカーソルを変更したり、背景にビットマップを表示したいのです。
APIで最初から全部プログラムを書いた時は簡単に出来ました。
WNDCLASSEXを宣言してそのクラスのhCursorやhbrBacgroundに
ロードすればよいわけです。
それがMFCとなると、どこで何をしていいのかさっぱりわかりません。
どなたか、お願いします。


引用未解決
トピックタグ
とざ
 とざ
(@とざ)
ゲスト
結合: 20年前
投稿: 8
 

> マウスカーソルを変更したり、背景にビットマップを表示したいのです。

CWnd派生クラスなら、OnSetCursor と OnEraseBkGnd Or OnPaintでいけませんか?
#私はVC6ですが、いけてます。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

自分でウィンドウクラスを作る場合は、
AfxRegisterWndClass()の引数に指定します。

MFCが勝手に作ったウィンドウの属性を変える場合は、
SetClassLong()で変更します。


返信引用
ゆう
 ゆう
(@ゆう)
ゲスト
結合: 23年前
投稿: 114
 

初期値で設定したい場合は、PreCreateWindowに記述します。
SDI ドキュメントなしのスケルトンより抜粋

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;

cs.dwExStyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,
::LoadCursor(NULL, IDC_ARROW), HBRUSH(COLOR_WINDOW+1), NULL);

return TRUE;
}


返信引用
PARMA
 PARMA
(@PARMA)
ゲスト
結合: 20年前
投稿: 10
Topic starter  

SetClassLongでできました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました