当前位置: 代码迷 >> VFP >> ,关于表单的有关问题
  详细解决方案

,关于表单的有关问题

热度:702   发布时间:2013-02-26 00:00:00.0
请教高手,关于表单的问题
我设置表单属性windowstate=2,showwindow=2.但实际运行中表单只显示一部分,并没最大化。请教高手,要实现表单置为最大,编译后运行充满整屏,但不覆盖windows任务栏,就怎样做?

------解决方案--------------------------------------------------------
参照这个示例
http://bbs.bccn.net/thread-362146-1-1
------解决方案--------------------------------------------------------
干脆注释掉 windowstate=2 这句,自己在 Init 中调整窗口大小至满屏,参考下列代码试试:
窗口类定义中添加下面两个方法:
C# code
  *-- vfp9 代码  Procedure Init    Local nAdj_w, nAdj_h    nAdj_w = 0    nAdj_h = 0    Thisform.GetTaskBarSize(@ nAdj_w, @ nAdj_h)    Thisform.Move(0, 0, ;      Sysmetric(1) - 2*Sysmetric(3) - nAdj_w, ;      Sysmetric(2) - 2*Sysmetric(4) - Sysmetric(9) - nAdj_h)  Endproc  Procedure GetTaskBarSize    Lparameters tnAdj_w, tnAdj_h    Local cBuff, nPos    Declare Long SHAppBarMessage In shell32 Long, String @    cBuff = Replicate(Chr(0), 32)    cBuff = BinToC(4+Len(cBuff), 'rs') + cBuff    SHAppBarMessage(5, @ cBuff)    nPos = CToBin(Substr(cBuff,13,4),  'rs')    Do Case    Case Inlist(nPos, 1, 3)      tnAdj_h = CToBin(Substr(cBuff,29,4),'rs') - CToBin(Substr(cBuff,21,4),'rs')    Case Inlist(nPos, 0, 2)      tnAdj_w = CToBin(Substr(cBuff,25,4),'rs') - CToBin(Substr(cBuff,17,4),'rs')    Otherwise    Endcase  Endproc
  相关解决方案