hur.cn - 华软网

 热门搜索

PowerBuilder窗口全屏显示的问题

  作者:未知    来源:网络    更新时间:2019/1/25
把下列声明加到GLOBAL  EXTERNAL  FUNCTIONS:  
 
Function  ulong  SetWindowPos(ulong  hwnd,ulong  hWndInsertAfter,ulong  x,ulong  y,ulong  cx,ulong  cy,ulong  wFlags)  LIBRARY  "user32.dll"  
Function  ULong  SetWindowLongA(Long  hwnd,  Long  nIndex,  Long  dwNewLong)  Library  'user32.dll'  
Function  ULong  GetWindowLongA(Long  hwnd,  Long  nIndex)  Library  'user32.dll'
把下列代码加到W_FRAME窗口(即MDI窗口)的OPEN事件:  
//满屏显示  
Environment    env  
GetEnvironment(env)  
THIS.Resize(PixelsToUnits(env.ScreenWidth,XPixelsToUnits!),  &  
           +  PixelsToUnits(env.ScreenHeight,YPixelsToUnits!))  
THIS.Move(0,0)  
 
//去掉题目栏  
long  dwStyle  
 
dwStyle  =  GetWindowLongA(handle(this),  -16)  
 
dwStyle  =  dwStyle  -  12582912  
     
dwStyle  =  SetWindowLongA(handle(this),  -16,  dwStyle)  
   
SetWindowPos(handle(this),  -2,  0,  0,  0,  0,  39)
然则照旧不能全数满屏?下面另有一点。
------华软网友回答------

------华软网友回复------
environment    lenv_env                                // holds environment information
integer li_origX,li_origY,li_envX,li_envY
integer li_scaleX,li_scaleY

// Get the environment information
if ( GetEnvironment(lenv_env) <> 1 ) then
       MessageBox( "Application: Open", &
               "Unable to get environment information.~nHalting ..." )
       halt
end if
//Get the Screen's Width and Height (unit:pixel)
li_envX = lenv_env.ScreenWidth
li_envY = lenv_env.ScreenHeight
//Get the P_1 picture's Width and Height (unit:pixel)
li_origX =  UnitsToPixels(2400, XUnitsToPixels!)
li_origY =  UnitsToPixels(1800, YUnitsToPixels!)
//      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。