一、在MFC中设置鼠标光标
1、载入系统光标
::SetCursor( ::LoadCursor( NULL, IDC_HAND ) );
注意:
LoadCursor第一个参数必须为NULL,否则会载入失败。如果以以下方式调用,则会失败:
::SetCursor( ::LoadCursor( AfxGetApp()->LoadCursor( IDC_HAND ) ) );
或::SetCursor( ::LoadCursor( AfxGetInstanceHandle(), IDC_HAND ) );
2、从资源中载入光标
::SetCursor( ::LoadCursor( AfxGetInstanceHandle(), MAKEINTRESOURCE( IDC_MY_CURSOR ) ) );
或::SetCursor( ::LoadCursor( AfxGetApp()->LoadCursor( MAKEINTRESOURCE( IDC_MY_CURSOR ) ) );
3、从文件中载入光标
HCURSOR hcur = ::LoadCursorFromFile( TEXT("myancur.ani") );
::SetCursor( hcur );
注意:
此处的文件必须是以.ani或者.cur的格式存储的
二、MFC中的一个应用
BOOL CmfcCursorTestDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if( pWnd == GetDlgItem( IDC_BTN_TEST ) ) { //一、设置此窗口中特定控件的光标 HCURSOR hcur=::LoadCursorFromFile( TEXT("myancur.ani") ); //加载光标 ::SetCursor( hcur ); //::SetCursor( AfxGetApp()->LoadCursor( IDC_CURSOR_TEST ) ); //::SetCursor( ::LoadCursor( NULL, IDC_HAND ) ); //::SetCursor( ::LoadCursor( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDC_CURSOR_TEST) ) ); return true; } //二、设置整个窗口的光标 ::SetCursor( ::LoadCursor( NULL, IDC_HAND ) ); return true; return CDialogEx::OnSetCursor(pWnd, nHitTest, message); }
作者:山丘儿
转载请标明出处,谢谢。原文地址:http://blog.csdn.net/s634772208/article/details/46404987
时间: 2024-10-12 21:39:41