请问GetWindowLong函数的nIndex的常量应该怎么设置啊

dusksoft 2010-05-02 05:31:25
大家好,我是个vb新手,刚开始接触API,很多东西不能理解,比如GetWindowLong函数的nIndex常量,要去那里获取常量的相关信息啊,不知道应该怎么设置,请求高手给解释一下

Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

在网上找了些API的相关函数说明,上面只给出常量的表示方法,没教如何去设置常量

参数 类型及说明
hwnd Long,欲为其获取信息的窗口的句柄

nIndex Long,欲取回的信息,可以是下述任何一个常数:
GWL_EXSTYLE 扩展窗口样式
GWL_STYLE 窗口样式
GWL_WNDPROC 该窗口的窗口函数的地址
GWL_HINSTANCE 拥有窗口的实例的句柄
GWL_HWNDPARENT 该窗口之父的句柄。不要用SetWindowWord来改变这个值
GWL_ID 对话框中一个子窗口的标识符
GWL_USERDATA 含义由应用程序规定
DWL_DLGPROC 这个窗口的对话框函数地址
DWL_MSGRESULT 在对话框函数中处理的一条消息返回的值
DWL_USER 含义由应用程序规定


nIndex 常量要怎么赋值,请高手给个解答,还有我想学习修改vb控件的皮肤,听说用子类化的原理来修改,能不能给个简单的小例子说明一下,网上下的源码都是一堆一堆的代码,不知道从哪里入手去看!
...全文
179 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcrun 2010-05-02
  • 打赏
  • 举报
回复
"但我还是有点搞不明白,这个-4是从哪里来的,为什么要是-4而不是其他值呢,-4是代表什么意思!"这个就是个规定,规范罢了.就像别人把False定义为0,你没必要去改为1

这些API函数和常数的定义,一般从VC的相应头文件中翻译.当然,最基础的,VB已经带了,你打开VB中的API浏览器就可以查到了.
dusksoft 2010-05-02
  • 打赏
  • 举报
回复
补充下,刚才在百度找了一下,有相关常量的设置的方法,就是通过API阅读器的常数来查找

例如:GWL_WNDPROC查找出来是 GWL_WNDPROC = (-4)

但我还是有点搞不明白,这个-4是从哪里来的,为什么要是-4而不是其他值呢,-4是代表什么意思!

1,485

社区成员

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

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