比如想要excel应用程序打开以后的大小为700*700像素,可以使用api函数SetWindowPos来实现。
SetWindowPos函数可以改变顶层窗口、子窗口、或者弹出窗口的大小、位置和Z序。
SetWindowPos的语法如下:
BOOL WINAPI SetWindowPos( _In_ HWND hWnd, _In_opt_ HWND hWndInsertAfter, _In_ int X, _In_ int Y, _In_ int cx, _In_ int cy, _In_ UINT uFlags );
它的参数hWnd [in]表示要调整的窗口的句柄。
hWndInsertAfter [in, optional] 表示要将调整的窗口至于哪个窗口之前,如果设置为0表示放在Z序的最前面。
X [in] 表示该窗口的新X轴坐标,是以客户坐标的形式表示。
Y [in]表示该窗口的新Y轴坐标,是以客户坐标的形式表示。
cx [in]表示该窗口的新宽度,以像素表示。
cy [in]表示该窗口的新高度,以像素表示。
uFlags [in]是一些标记用于影响最终的窗口的大小和位置,具体的可以看帮助文档。
以下是一个打开工作簿就执行的代码,将使得打开的工作簿的大小保持在700*700像素。
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Sub Workbook_Open() Dim iHwnd iHwnd = Excel.Application.hwnd SetWindowPos iHwnd, 0, 0, 0, 700, 700, 0 End Sub
发表评论