首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB6中怎么使窗体的宽度不可变,高度可变

2013-11-13 
VB6中如何使窗体的宽度不可变,高度可变重点在宽度不可变这里,我现在用的是这种方式,在Form_Resize中加入如

VB6中如何使窗体的宽度不可变,高度可变
重点在宽度不可变这里,我现在用的是这种方式,在Form_Resize中加入如下代码 :   
    If Me.Width <> 8160 And Me.WindowState <> 1 Then    
        Me.Width = 8160
    End If
但效果不好,当试图改变窗体宽度时,窗体虽然最终宽度不变,但用鼠标拖动边框时,边框会有类似于晃或闪动
的感觉,我想要窗体侧面边框完全不动的效果,要怎么办??? vb6 窗体 宽度
[解决办法]
WM_GETMINMAXINFO
The WM_GETMINMAXINFO message is sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size. 

WM_GETMINMAXINFO 
lpmmi = (LPMINMAXINFO) lParam; // address of structure 
 
Parameters
lpmmi 
Value of lParam. Pointer to a MINMAXINFO structure that contains the default maximized position and dimensions, and the default minimum and maximum tracking sizes. An application can override the defaults by setting the members of this structure. 
Return Values
If an application processes this message, it should return zero. 

Remarks
The maximum tracking size is the largest window size that can be produced by using the borders to size the window. The minimum tracking size is the smallest window size that can be produced by using the borders to size the window. 

QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.

See Also
Windows Overview, Window Messages, MoveWindow, SetWindowPos, MINMAXINFO 

 

[解决办法]
http://bbs.csdn.net/topics/390599257
[解决办法]

问题分两类,一类是知识性的,比如 Windows 的接口实现等等,主要是靠多看多学;另一类是想法和方案,主要靠多想多试。

4 楼提供的是 Windows 正路的消息机制处理方案。楼主原来的方案是在事件已经发生后再设置回来,自然会有抖动现象。

热点排行