彩色 Cursor 怎么加到我的程序里面呀 ????请帮忙

aftravel 2003-09-15 10:28:33
我的程序里面要加 一个彩色的 Cursor。。。。为什么,总是黑白的,有谁解决过此类问题的,请帮个忙。。。。。
...全文
79 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
MicoInNet 2003-09-22
  • 打赏
  • 举报
回复
谢谢!学习ing
sky51fly 2003-09-17
  • 打赏
  • 举报
回复
呵呵
yushulei 2003-09-17
  • 打赏
  • 举报
回复
恭喜搂住!呵呵
yifengling0 2003-09-16
  • 打赏
  • 举报
回复
怎么实现
得拿出来大家共享一下啊1~
aftravel 2003-09-16
  • 打赏
  • 举报
回复
上面的大哥!!! 我知道,主要是 不能变彩色的。。。。不是不能改光标。。。。。。麻烦你看清楚题目呀,不过,谢谢你,我已经做好了。。。。。。。。。。。。。。。。
aftravel 2003-09-16
  • 打赏
  • 举报
回复
hCursor=AfxGetApp()->LoadCursor(IDC_RD);
SendMessage(WM_SETCURSOR,0, (LPARAM)hCursor);
就这两句,重载一个OnSetCursor()
OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{

if(hCursor!=NULL)
{
SetCursor(hCursor);
//::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
return TRUE;
}else
return COleControl::OnSetCursor(pWnd, nHitTest, message);
}


aftravel 2003-09-16
  • 打赏
  • 举报
回复
关键不在代码。。。在你找个彩色的 。cur 然后,把你要的彩色ico 通过资源文件打开考过去就可以了,至于代码,上面有如下:
//加载光标
void CJUMBOVideoOcxCtrl::OnMouseMove(UINT nFlags, CPoint point)
{
//点是否在控件内
if( point.x >0 && point.x<m_VideoX && point.y>0 && point.y< m_VideoY)
{
for(int i=0;i<10;i++)
{
//if(m_MouseRect[i].left<point.x && point.x<m_MouseRect[i].right && m_MouseRect[i].top<point.y && point.y< m_MouseRect[i].bottom )
if(PtInRect(&m_MouseRect[i], point))
{
switch(i)
{
//Left Up
case 0:
hCursor=AfxGetApp()->LoadCursor(IDC_LU);
break;
//上
case 1:
hCursor=AfxGetApp()->LoadCursor(IDC_UP);
break;
//Right Up
case 2:
hCursor=AfxGetApp()->LoadCursor(IDC_RU);
break;
//L
case 3:
hCursor=AfxGetApp()->LoadCursor(IDC_LEFT);
break;
//M
case 4:
hCursor=AfxGetApp()->LoadCursor(IDC_MAX);
break;
//N
case 5:
hCursor=AfxGetApp()->LoadCursor(IDC_MIN);
break;
//Right
case 6:
hCursor=AfxGetApp()->LoadCursor(IDC_RIGHT);
break;
//LD
case 7:
hCursor=AfxGetApp()->LoadCursor(IDC_LD);
break;
case 8:
//下
hCursor=AfxGetApp()->LoadCursor(IDC_DOWN);
break;
case 9:
//右下
hCursor=AfxGetApp()->LoadCursor(IDC_RD);
break;
}//end if
}//end for
}//end if
}
SendMessage(WM_SETCURSOR,0, (LPARAM)hCursor);
COleControl::OnMouseMove(nFlags, point);
}

BOOL CJUMBOVideoOcxCtrl::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{

if(hCursor!=NULL)
{
SetCursor(hCursor);
//::SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
return TRUE;
}else
return COleControl::OnSetCursor(pWnd, nHitTest, message);
}

效果在 www.jbccve.com上面在线演示的控件就是我做的。。。。
wuxfBrave 2003-09-15
  • 打赏
  • 举报
回复
static HCURSOR m_hcurFinger = LoadCursor(afxCurrentResourceHandle, (LPCTSTR)IDC_CURSOR1);

SetCursor(m_hcurFinger);

return TRUE;

我实现了啊
aftravel 2003-09-15
  • 打赏
  • 举报
回复
上面的大哥,解决了,告诉俺 一声呀。。。
yushulei 2003-09-15
  • 打赏
  • 举报
回复
俺也碰到这个问题了,暂时还没解决。呵呵,帮你顶!
aftravel 2003-09-15
  • 打赏
  • 举报
回复
我已经用别的软件编好了 256 色,也加进来了,但是,为什么显示的时候却变成黑白的了 ?????????
papaya_stone 2003-09-15
  • 打赏
  • 举报
回复
vc中好像只能编辑16色的。
自己先用别的软件编辑一个256色的图标,然后
ResourceView中右键单击icon,菜单中选import...然后选图标就成了。
mahatma_cn 2003-09-15
  • 打赏
  • 举报
回复
晕!!!
重载 WM_SETCURSOR 消息
在这个消息处理函数中改变光标(我默认你已经成功加载了光标)
如SetCursor(m_hmycur);
然后修改最后一句为return TURE;
aftravel 2003-09-15
  • 打赏
  • 举报
回复
好象不行。。。。。。还是黑白的。。。。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧