掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
マウスカーソルの変更 (ID:52751)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
IDC_MAGNIFY は MSDN のサンプルの中で定義されているカーソルで システムに登録されているものではありません。 なので、 ヘルプ: MSDN ライブラリ 2001年10月 L VisualStudio6.0ドキュメント L Visual C++ ドキュメント L サンプル L SDK Samples L COM Samples L COM Application Samples L Bttncur: Buttons and Cursors を開いて、Click to open or copy the Bttncur project files. をクリックし、サンプルを読み込みます。 必要なのは この中の res\magnify.cur だけで、これを自分のプロジェクトの 中の、res にコピーし、import します。 でこのリソースのIDを IDC_MAGNIFY にしてやって、 CWnd 派生クラスのコンストラクタあたりで m_hCursor = LoadCursor( IDC_MAGNIFY ); ウィンドウが初期化されるあたりで、(ダイアログならOnInitDialog()) SetClassLong( m_hWnd, GCL_HCURSOR, (long)m_hCursor ); を行えばいいですね。 以下、ダイアログで使用する例です。 BTTNCUR.Hはインクルードしないでください。 IDC_MAGNIFY はインポート時に自分の resource.h に自動登録されるはずです。 CT04Dlg::CT04Dlg(CWnd* pParent /*=NULL*/) : CDialog(CT04Dlg::IDD, pParent) { //{{AFX_DATA_INIT(CT04Dlg) //}}AFX_DATA_INIT m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); // m_hCursor = AfxGetApp()->LoadCursor( IDC_CURSOR1 ); m_hCursor = AfxGetApp()->LoadCursor( IDC_MAGNIFY ); } BOOL CT04Dlg::OnInitDialog() { CDialog::OnInitDialog(); ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); SetClassLong( m_hWnd, GCL_HCURSOR, (long)m_hCursor ); return TRUE; } ### SetCursor() という関数にだまされませんでしたか?(^^;; では。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.