鱼C论坛

 找回密码
 立即注册
查看: 1556|回复: 3

关于小甲鱼firstwindow代码中的疑惑。

[复制链接]
发表于 2014-10-1 14:05:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
_WinMain proc
  local @stWndClass:WNDCLASSEX
  local @stMsg:MSG
  invoke GetModuleHandle,NULL
  mov hInstance,eax
  invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
;********************************************************************
; 注册窗口类
;********************************************************************
  invoke LoadCursor,0,IDC_SIZEWE
  mov @stWndClass.hCursor,eax
  push hInstance
  pop @stWndClass.hInstance
  mov @stWndClass.cbSize,sizeof @stWndClass
  mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW or CS_DBLCLKS
  mov @stWndClass.lpfnWndProc,offset _ProcWinMain
  mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
  mov @stWndClass.lpszClassName,offset szClassName
  invoke RegisterClassEx,addr @stWndClass

为什么注册窗口之前先要调用LoadCursor  这个函数。既然wndclass结构中包含了,Cursor 这个成员,那为什么不能直接
mov @stWndClass.hCursor,IDC_SIZEWE 呢?
我去尝试了下,这样以后程序可以生成,但是不会显示这个窗口,我看了这个函数,是把图标插入到可执行的文件中,是不是注册窗口中所有的wndclass成员都是当作来处理呢?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-1 22:18:00 | 显示全部楼层
WNDCLASS结构的cursor成员中,存储的是光标句柄而不是光标ID。
所以要用LoadCursor加载进内存,用句柄使用内存中的光标资源
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-2 17:49:06 | 显示全部楼层
哦,非常感谢您的回复。我去查下光标ID跟光标句柄的区别,谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-11-1 07:47:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 00:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表