Access交流中心

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

请教关于窗体的问题:

山愚  发表于:2014-06-26 14:48:11  
复制

请教关于窗体的问题:
一、情况1:自定主窗体在"成为当前"事件中,设置自定主窗体大小及位置,然后隐藏access主窗体
Private Sub Form_Current()      '自定主窗体"成为当前"属性,设置自定主窗体大小及位置,然后隐藏access主窗体
   DoCmd.MoveSize 0, 0, 12020, 8600
   DoCmd.Echo False
   Dim x, y As Integer
   DoCmd.Maximize                                                                       
   x = Me.WindowWidth
   y = Me.WindowHeight
   CurrentDb.Execute "update ycs set yzctx ='" & x & "',yzcty ='" & y & "'"                                '将屏幕大小写入参数表ycs.yzctx、ycs.yzcty中
   DoCmd.Restore
   DoCmd.Echo True
   Move (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 4
   CurrentDb.Execute "update ycs set ycctx ='" & Me.WindowWidth & "',yccty ='" & Me.WindowHeight & "'"     '将主窗体大小写入参数表ycs.ycctx、ycs.yccty中
   DoCmd.RunCommand acCmdAppMinimize                                                                       '隐藏主窗体,须将“其他-弹出”设为“是”
End Sub
二、情况2:设置被自定主窗体调用的次窗体的位置及大小,位置是自定主窗体位置加上检测出来的常数
Private Sub Form_Current()          '被调用的次窗体"成为当前"事件中,设置运行窗体大小及位置
  DoCmd.MoveSize (DLookup("yzctx", "ycs") - DLookup("ycctx", "ycs")) / 2 + 2962.5, (DLookup("yzcty", "ycs") - DLookup("yccty", "ycs")) / 4 + 2238.5, 8726, 7000
End Sub
三、情况3:测得两个显示器能将次窗体固定在主窗体的同一位置的数据如下
---------屏幕长--屏幕宽--主窗体长--主窗体宽--小窗体长--小窗体宽--主窗体位置X--主窗体位置Y--小窗体位置X--小窗体位置Y
显示器1--24000 13500 12015    8595     8730      7005 5992.5       1226.25    8955        3464.75
显示器2--15360 11520 12015    8595     8730      7005 1672.5       731.25    4695        2639.75
四、如图(意思是需要在不同显示器上将"登录密码"这个窗体定位在自定主窗体的同一位置)


五、问题:请教,如何设置次窗体才能在不同显示器上将次窗体固定在主窗体的同一位置?多谢回答者。

 

Top
蟹仔 发表于:2014-06-26 15:14:25

你解决了这个登陆窗口这个问题,还有你还得解决其他窗口类似的问题,最后你会发现。你这个系统有一半的时间是用来折腾“自适应屏幕改变软件大小”这个问题上!

相信我!不要去纠结这个问题,会死很多脑细胞的。



山愚 发表于:2014-06-26 15:29:35
蟹仔,你好。我只要解决了一个登录窗口在不同显示器上的定位,其他照样就行了。就象现在,就一句代码,问题是,这句代码只能适应一台显示器。

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