WEB开发网
开发学院软件开发VC 改变窗口中的光标形状 阅读

改变窗口中的光标形状

 2010-07-11 20:44:46 来源:WEB开发网   
核心提示:如何在注册表中查找默认浏览器信息?如何改变窗口中的光标形状?如何避免资源ID冲突?如何在注册表中查找默认浏览器位置的定义?我需要知道EXE文件的路径和名称以便启动一个应用程序会话,我的目的很简单,改变窗口中的光标形状,就是打开默认的浏览器,这样用户能够象普通程序一样使用它,标准的MFC程序采用第一种方式设置光标,它自动

如何在注册表中查找默认浏览器信息?

如何改变窗口中的光标形状?

如何避免资源ID冲突?

如何在注册表中查找默认浏览器位置的定义?我需要知道EXE文件的路径和名称以便启动一个应用程序会话。我的目的很简单,就是打开默认的浏览器,这样用户能够象普通程序一样使用它,而不是在我设计的程序窗口内浏览因特网。

Rolf Wenger

据我所知,在Window中没有专门指定默认浏览器的注册表键值或设定值。即使专家也很难弄清楚整个注册表,更何况常人。我知道可能存在这样一个键值,

HKCU\System\Mumble\Bletch\Blah\Gak\DefaultBrowser

如果你知道这样的键值,请写信告诉我。不过,我知道一个简单的解决办法,那就是查找哪个程序和HTML文件相关联。在Window操作系统中HTML文件的后缀通常为.htm和.html,所以你要做的就是查找HKCR/.htm的键值。如果你查找了会找到下面的键值:

HKEY_CLASSES_ROOT\.htm="htmlfile"

再根据这个键值查找HKCR/htmlfilm的条目,你会找到下面的键值:

[HKEY_CLASSES_ROOT\htmlfile\shell\open\command]
@="\"C:\\PROGRA~1\\INTERN~1\\iexplore.exe\" -nohome"

这个键值表明Microsoft Internet Explorer (iexplore.exe)是用来打开.htm文件的程序。(-nohome开关标志告诉IE浏览器不要打开主页)如果默认的浏览器是Netscape,这个条目会是这样:

[HKEY_CLASSES_ROOT\htmlfile\shell\open\command]
@="\"C:\\PROGRA~1\\NETSCAPE\\netscape.exe\".

我的回答满意吗?

我想为对话框的一个按钮设置不同的光标,应该如何进行设置?

Rolf Wenger

有两种方式可以改变窗口中的光标:你可以在注册窗口类时声明一个全局光标(HCURSOR)作为WNDCLASS结构的一部分,或者通过处理WM_SETCURSOR消息来手工设置光标。标准的MFC程序采用第一种方式设置光标,它自动为主窗口注册一个箭头光标。你可以在主窗口或子窗口中通过处理WM_SETCURSOR消息来改写这个行为。

// 在按钮类中处理WM_SETCURSOR消息
BOOL CMyButton::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT msg)
{
  ::SetCursor(m_hMyCursor);
  return TRUE;
   }

1 2 3  下一页

Tags:改变 窗口 光标

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接