2

マウスカーソルを変更して以下のコードを書き込もうとしていますが、うまくいきません。IDC_CURSOR_WHITErcファイルに入れる必要があるようです。私は試して失敗しました。ついに私はあなたの導きを求めてここに来ました。ヘルプ!ありがとう。

IDC_CURSOR_WHITE IDC_CURSOR_BLACK ではない

hWhiteCursor = ::LoadCursor(hInstance, (LPCTSTR)IDC_CURSOR_WHITE);

hBlackCursor = ::LoadCursor(hInstance, (LPCTSTR)IDC_CURSOR_BLACK);



case WM_LBUTTONDOWN:
  if ((type = ++type % 2) == 0)
   SetCursor(hWhiteCursor);
  else 
   SetCursor(hBlackCursor);
  break;
 case WM_SETCURSOR
  return 0;

PS: rc ファイルのコード。エラーは、マウスカーソルが定義されていません。

// Microsoft Visual C++ generated resource script.
//
#include "resource."

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
//  resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\0"
END

2 TEXTINCLUDE 
BEGIN
    "#include ""afxres.h""\r\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//

IDC_CURSOR_WHITE             CURSOR                  "cursor1.cur"
IDC_CURSOR_BLACK            CURSOR                  "cursor2.cur"
#endif    //  resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED
4

2 に答える 2

1

投稿したスニペットから、コードでは と を使用してカーソルをロードしてIDC_CURSOR_WHITEIRC_CURSOR_BLACKますが、.rc ファイルにはIDC_CURSOR1ととしてそれらを含めていますIDC_CURSOR2

于 2009-10-08T09:12:41.953 に答える
1

これは、リソースを使用する必要があるときに私が行うことです。まず、resource.h ファイルを作成し、リソース名を一意の整数で定義します。resource.h ファイルを .rc ファイルに含めてから、実際のリソースを定義します。したがって、あなたの場合、ファイルは次のようになります

resource.h
#define IDC_BLACK_CURSOR   1001

resource.rc
#include "resource.h"
......
IDC_BLACK_CURSOR CURSOR "cursor1.cur"

特定のファイルでリソースを使用するには、resource.h ファイルをインクルードし、特定のカーソルを使用します。あなたの場合、test.cppファイルでカーソルを使用したい場合。

test.cpp
#include "resource.h"
....
hBlackCursor = LoadCursor(hInst, MAKEINTRESOURCE(IDC_BLACK_CURSOR));
.....

これが役立つことを願っています。詳細情報 MSDN はいつでもあなたの味方です。

http://msdn.microsoft.com/en-us/library/ms648380%28VS.85%29.aspx

于 2009-10-09T01:54:38.993 に答える