Win32 Application
在编译RC文件时老是出错
不明白是该方法不对,还是代码细节出了问题,仅仅想实现自己的光标在窗口上显示
另外,上贴中前辈们给的方法,如使用SetCursor/LoadCursor的方法已经学会,就是想把这种方法学学,请前辈们给解释一下,谢谢了
窗口已经实现,但是光标就没有出现,仍然是WINDOWS的默认光标分别创建:CURSOR.cpp  //cpp编译通过
          CURSOR.h
          CURSOR.rc(使用Resource Script创建,对否?)
并使用资源编辑器画好图标(ID=IDC_CURSOR1,filename=hand.cur)
.cpp代码如下:
----------------------------
#define WIN32_LEAN_MEAN#include<windows.h>
#include<windowsx.h>
#include"CURSOR.h"
#define WINDOW_CLASS_NAME  "GOT_ME"LRESULT CALLBACK WinProc(HWND hwnd,UINT msg,WPARAM wparam ,LPARAM lparam)
{ PAINTSTRUCT  ps;
HDC     hdc; switch(msg)
{
case WM_CREATE:
{
return 0;
}
break; case WM_PAINT:
{
hdc=BeginPaint(hwnd,&ps); EndPaint(hwnd,&ps);
return 0;
}
break; case WM_DESTROY:
{
PostQuitMessage(0);
}
break;
} return DefWindowProc(hwnd,msg,wparam,lparam);
}int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hprevinstace,LPSTR lpCmdLine,int nShowCmd)
{ WNDCLASSEX   wcs; MSG  msg; HWND   hwnd; wcs.cbSize=sizeof(WNDCLASSEX);
wcs.style=CS_DBLCLKS|CS_OWNDC|CS_HREDRAW|CS_VREDRAW;
wcs.lpfnWndProc=WinProc;
wcs.cbClsExtra=0;
wcs.cbWndExtra=0;
wcs.hCursor=LoadCursor(hinstance,MAKEINTRESOURCE(IDC_CURSOR1));
wcs.hIcon=NULL;
wcs.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wcs.hInstance=hinstance;
wcs.lpszClassName=WINDOW_CLASS_NAME;
wcs.lpszMenuName=NULL;
wcs.hIconSm=NULL;
if(!RegisterClassEx(&wcs))
return 0;
if(!(hwnd=CreateWindowEx(NULL,WINDOW_CLASS_NAME,"I LOVE YOU",
WS_OVERLAPPEDWINDOW|WS_VISIBLE,0,0,500,500,NULL,NULL,hinstance,NULL)))
return 0; while(GetMessage(&msg,NULL,NULL,NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg); }
return msg.wParam;
}
-----------------------------------
.h代码如下:
-----------------
#define  IDC_CURSOR1  200
--------------------------
.rc代码
我的做法是,先用记事本把RC文件打开
然后在里面添加代码:
#include"CURSOR.h"
IDC_CURSOR1  CURSOR  hand.cur
或者为  200 CURSOR  hand.cur由于编辑器自行添加了许多其他的代码,也不知道自己的代码添加的位置是否恰当
------------------------------------------------

解决方案 »

  1.   

    少了引号
    #include"CURSOR.h"
    IDC_CURSOR1  CURSOR  "hand.cur"
    或者为  200 CURSOR  "hand.cur"
      

  2.   

    .rc代码
    我的做法是,先用记事本把RC文件打开
    然后在里面添加代码:
    #include"CURSOR.h"
    IDC_CURSOR1  CURSOR  hand.cur
    或者为  200 CURSOR  hand.cur现在还有自己编辑RC文件的吗?自定义光标好像不用这么麻烦吧
      

  3.   

    通过资源编辑器加载资源,win32麻烦一点不过没问题的.