Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

给窗体加的这些代码怎么会不起到预定的效果呢?

123xiaoniu  发表于:2009-05-25 19:27:59  
复制

加了如下代码灰边仍旧出现:(在有些电脑测试就不出现)

Private Sub Form_Activate()
    Dim i, J As Integer
    i = Me.WindowWidth
    J = Me.WindowHeight

    '让窗体最大化
    DoCmd.Restore
    DoCmd.MoveSize 0, 0, i, J

    '让窗体处于最下层
    SetWindowPos Me.hwnd, 1, 0, 0, 0, 0, &H1 + &H2 + &H10
End Sub

 

Private Sub Form_Open(Cancel As Integer)
    DoCmd.RunCommand acCmdAppMaximize
    Call MaximizeRestoredForm(Me)

End Sub

 

Top
豆豆 发表于:2009-05-26 13:41:13

MaximizeRestoredForm(Me)是自定义的函数吧。

内容是什么?

 



123xiaoniu 发表于:2009-05-26 14:22:06

Option Compare Database
Option Explicit
'判断窗体是否最大化
Private Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Long
'显示窗体
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
'判断指定窗口的父窗口
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
'返回指定窗口客户区矩形的大小
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
'指定一个窗口的新父
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'改变指定窗口的位置和大小
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
'这个函数能为窗口指定一个新位置和状态。它也可改变窗口在内部窗口列表中的位置。
Public 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

Type RECT
    X1 As Long
    Y1 As Long
    x2 As Long
    y2 As Long
End Type

Public Const SW_SHOWNOACTIVATE = 4                    '设置打开窗体是否获得焦点
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWNORMAL = 1

 

Sub MaximizeRestoredForm(F As Form)
    Dim MDIRect As RECT
    ' If the form is maximized, restore it.
    If IsZoomed(F.hwnd) <> 0 Then
        ShowWindow F.hwnd, SW_SHOWNORMAL
    End If
    ' Get the screen coordinates and window size of the
    ' MDIClient area.
    'This is the line which is different
    GetClientRect GetParent(F.hwnd), MDIRect
    SetParent F.hwnd, GetParent(F.hwnd)
    ' Move the form to the upper left corner of the MDIClient
    ' window (0,0) and size it to the same size as the
    ' MDIClient window.
    MoveWindow F.hwnd, 0, 0, MDIRect.x2 - MDIRect.X1, MDIRect.y2 - MDIRect.Y1, True
End Sub



总记录:2篇  页次:1/1 9 1 :