
父子关系和所有者关系不同。
父子关系的,子窗口绘制区域被限制在父窗口的客户区。
而所有者关系中的被拥有窗口可以绘制在整个屏幕,也就是一个d出窗口。像子窗口一般都是这个情况,但其实GetParent一般=GetOwner
GetWindowLong是获得有关指定窗口的信息,这个信息包括窗口扩展风格、标识、父句柄、风格等;通过第二个参数在控制的
GWL_EXSTYLE 获得扩展窗口风格。
GWL_HINSTANCE 获得应用事例的句柄。
GWL_HWNDPARENT 如果父窗口存在,获得父窗口句柄。
GWL_ID 获得窗口标识。
GWL_STYLE 获得窗口风格。
GWL_USERDATA 获得与窗口有关的32位值。每一个窗口均有一个由创建该窗口的应用程序使用的32位值。
GWL_WNDPROC 获得窗口过程的地址,或代表窗口过程的地址的句柄。
同样SetWindowLong也需要通过参数设定不同的信息;
先建好窗口资源,再新建一个类与之关联,假设这个类是B,父窗口的类是A
在A中有个函数Onf()用来写代码显示分窗口,
在B中定义公有变量接受输入的数据,假设这个变量是c
在A中要获得B中的c的值,用A中的成员变量d来接收,应在Onf()中写如下代码
Onf()
{
B b;
bDoModal();
d=bc;
}这样就可以了,以上代码只是一种形式,灵活变通
GetWindowRect() 得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点)
GetClientRect() 得到的是在客户区坐标系下的RECT(即以所在窗口左上角为原点,去掉了标题栏计算,仅仅是个大小,返回值的左上角永远为0,0)
ScreenToClient() 就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。
如果需要获得窗体在屏幕上的位置,使用GetWindowRect
如果需要获得窗体的大小,使用GetClientRect
看得有点糊涂“我在另一个函数中 ,CZDialog pCZ = new CZDialog 了,但是这个指针和我在一开始的函数中创建的那个不是一个,怎么样能让他两指的是一个?” ???CZDialog pCZ 设成成员的-主要在构造函数里面初始化,析构释放,“怎么样能让他两指的是一个” 你去获取他的句柄,用句柄就好,不要用什么指针,这些都是非模态的,new 一个都是一个新的了,所以new 一个以前都要判断是否为空,不为空,置空,在new。VC 父窗口 怎么 获得 子窗口的句柄---
以上就是关于VC++中的父窗口和所有者窗口有什么区别全部的内容,包括:VC++中的父窗口和所有者窗口有什么区别、VC++获取窗口句柄信息、在vc++6.0中用c语言实现d出一个可输入的窗口 输入内容用于父窗口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)