CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

鼠标到位图按钮变成手的形状怎么做?

楼主jackind(steven)2005-11-10 09:38:58 在 VC/MFC / 界面 提问

有六个位图按钮,ID_1,ID_2,ID_3,ID_4,ID_5,ID_6,把鼠标移到位图控键变成手的形状怎么做? 问题点数:20、回复次数:7Top

1 楼jackind(steven)回复于 2005-11-10 09:53:09 得分 0

还有用下面的方法鼠标悬浮在位图按钮上没有效果!!  
   
  (1)、在对话框适当位置添加按钮,为其"Caption"设置一个值,假设为"MYBUTTON",为其指定ID号,假设为"IDC_MYBUTTON",并设定“Owner   Draw”属性  
   
  (2)、做4个位图,分别用于当按钮处在“UP”、“DOWN”、“FOCUS”、“DISABLE”时显示,其ID分别为"MYBUTTONU"、"MYBUTTOND"、"MYBUTTONF"、"MYBUTTONX",注意,不要写成MYBUTTONU、MYBUTTOND、MYBUTTONF、MYBUTTONX;  
   
  (3)、在对话框类的结构中(.h)加入如下代码:  
   
  CBitmapButton   m_wndBitmapButton;  
   
  (4)、在对话框的初始函数(OnInitDialog)中加入如下代码:  
           
  m_wndBitmapButton.AutoLoad(IDC_MYBUTTON,this);Top

2 楼laiyiling(陌生人[MVP])回复于 2005-11-10 10:06:10 得分 3

处理WM_SETCURSOR消息Top

3 楼VxD1(Dump)回复于 2005-11-10 10:30:34 得分 2

SetClassLong()把字窗口的hCursor字段改成别Top

4 楼jackind(steven)回复于 2005-11-10 12:53:38 得分 0

有谁可以详细的总结一下吗?不仅可以为象我这样的菜鸟们提供帮助还有分拿,何乐不为呢?Top

5 楼lixiaosan(小三)回复于 2005-11-10 13:13:48 得分 10

CTest6Dlg::OnSetCursor(CWnd*   pWnd,   UINT   nHitTest,   UINT   message)  
  {  
                  CRect   rect;  
                  CPoint   ptCursor;  
                  CWnd   *pStatic1   =   GetDlgItem(IDC_BUTTON);  
   
  #if(WINVER   >=   0x0500)  
  #define   IDC_HAND                         MAKEINTRESOURCE(32649)  
  #endif   /*   WINVER   >=   0x0500   */    
   
   
   
                  pStatic1->GetWindowRect(rect);  
                  GetCursorPos(&ptCursor);    
                  if(rect.PtInRect(ptCursor))  
                  {  
  HICON   hIconBang   =   AfxGetApp()->LoadCursor(IDC_HAND);  
  SetCursor(hIconBang);  
  return   TRUE;  
                  }  
                  else  
                    return   CDialog::OnSetCursor   (pWnd,   nHitTest,   message);  
  }  
  Top

6 楼jackind(steven)回复于 2005-11-10 15:10:04 得分 0

一个可以解决,六个按钮上都出现手的形状怎么写呢?Top

7 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-11-10 15:15:41 得分 5

在OnCreate调用  
  SetClassLong(m_hWnd,   GCL_HCURSOR,   IDC_HAND);  
   
  六个都从同一个基类派生就可以了Top

相关问题

  • 设置按钮上的鼠标形状和效果
  • 当鼠标置于按钮上时如何改变鼠标形状,比如由常规形状变为hand形状?
  • 当鼠标移动到一个按钮上面的时候,请问怎么改变光标的形状?
  • 关于鼠标形状
  • 有关鼠标的形状?
  • 鼠标形状的问题
  • 改变鼠标形状?
  • 自定义鼠标形状
  • 鼠标形状的问题
  • 鼠标形状的改变

关键词

  • 鼠标
  • idc
  • 按钮
  • ptcursor
  • 对话框
  • mybutton
  • 图
  • hand
  • 手的形状怎么
  • rect

得分解答快速导航

  • 帖主:jackind
  • laiyiling
  • VxD1
  • lixiaosan
  • goodboyws

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo