关于MDI窗口客户端(MDIClient)大小改变的问题
我建立一个MDI窗口,然后使用API函数建立一个状态栏:
sbWnd = CreateStatusWindow(WS_CHILD Or WS_VISIBLE Or WS_BORDER, vbNullString, hWnd, IDC_STATUSBAR)
然后设置父窗口:
SetParent sbWnd, hWnd
接着给状态栏分段并设置文本,这部分代码就省略了,因为不是我提问的关键。
然后我在MDI窗口的Resize事件中写代码,让状态栏重画:
Private Sub MDIForm_Resize()
MoveWindow sbWnd, 0, 0, 0, 0, True
End Sub
窗口中状态栏是出来了,而且会跟着主窗口的大小改变而重画
但是,MDI窗口的客户区(类名:MDIClient)的大小却没有改变
而我尝试不用API建立状态栏,直接在VB的工具箱中增加该状态栏,MDI的客户区却会自动改变大小的
那究竟是什么问题啊?
如何在API创建状态栏后,能让客户区自动调整大小,或者用什么方法重新设置客户区的大小(注:MoveWindow、SetWindowPos……函数都试过了,没用)
[解决办法]
子类化扑捉 WM_SIZE消息吧
[解决办法]
看了几个你的帖子
对你说一句话 VB 不需要太多的VC理念
VB 一天一地VC
天堂有路你不走啊 VC多好啊~!