Windows API

SetParent

 

 

声明方法:

  Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

  函数功能:该函数改变某个子窗口的父窗口。

  函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);

  参数:

  hWndChild:子窗口句柄。

  hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。在WindowsNT5.0中,如果参数为HWND_MESSAGE,则子窗口成为消息窗口。

  返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。若想获得多错误信息,请调用GetLastError函数。

  备注:应用程序可以使用SetParent函数来设置弹出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。

  如果参数hWndChild标识的窗口是可见的,系统将执行适当的重画和刷新动作。

  由于兼容的原因,对于将改变父窗口的子窗口,SetParent函数并不改变该子窗口的WS_CHILO WS_POPUP风格。所以,如果hWndNewParent参数为NULL,就应在调用SetParent函数之后清空WS_CHILD位并且设置为WS_POPUP风格。相反的,如果hWndNewParent参数不为NULL并且在此之前窗口是桌面窗口的子窗口,就应在调用SetParent函数之前清空WS_POPUP位井设置WS_CHILD风格。

 

GetWindowLong

函数功能描述:用这个函数能够获得指定窗口的信息

函数原型:
LONG GetWindowLong( HWND hWnd,int nIndex )

参数:
hWnd:指定窗口的句柄
nIndex:需要获得的信息的类型
     值            功能

nIndex取值如下:
GWL_EXSTYLE    得到扩展的窗口风格
GWL_STYLE      得到窗口风格
GWL_WNDPROC    得到窗口回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用
GWL_HINSTANCE  得到应用程序运行实例的句柄
GWL_HWNDPARENT 得到父窗口的句柄
GWL_ID         得到窗口的标识符
GWL_USERDATA   得到和窗口相关联的32位的值(每一个窗口都有一个有意留给创建窗口的应用程序是用的32位
               的值)

当hWnd标识一个对话框时可以使用下面的值
Value Action
DWL_DLGPROC   得到对话框回调函数的地址,或者句柄。得到后必须使用CallWindowProc函数来调用
DWL_MSGRESULT 得到对话框回调函数中消息处理过程的返回值
DWL_USER      得到额外的应用程序私有信息,如一些句柄和指针等

返回值:
成功时,返回一个请求的32位的值
失败时,返回0,可以使用GetLastError来取得错误信息

你可能感兴趣的:(Windows API)