2011-09-19 217 views
2

將應用程序轉換爲Web窗體後,我遇到了窗口布局問題。該窗口包含一個數據窗口。當我在Internet Explorer中打開窗口時,最初的佈局是可以的,但只要我點擊任何控件,佈局就會中斷。PowerBuilder窗口大小

由於瀏覽器全尺寸打開並嘗試將窗口上的對象調整爲更大尺寸,因此中斷了。 所以我認爲如果寬度的寬度和高度保持不變,問題就可以解決。

我打開使用窗口:

Message.StringParm = "w_test" 
of_SendMessage("pfc_open") 

反正是有,我可以強制強制應用程序保持w_test窗的固定寬度和高度?

我也試過以下,但它不起作用(即打破布局)。

OpenSheet (w_test, w_main_frame, 0, original!) 

回答

0

窗口應該有一個叫做可調整大小屬性,可以在窗口畫家設置(複選框),或通過代碼如下圖所示。您可能還需要關閉控制菜單最小化最大化窗口按鈕。

但是......你最有可能看過這些,並沒有改變它們的運氣。我遇到了使用Web窗體的相同問題(功能),但沒有找到解決方法或解決方法。嘗試使用所有窗口類型,動態調整大小,但IE總是打開最大化。

如果你有沒有用盡設置寬度和高度動態的,你可以這樣做:

// Set window size and make it fixed 
this.Width = 800 
this.Height = 600 

// Disallow Resize 
this.Resizable = false 

// Turn Off Minimize, Maximize & Control Menu 
this.ControlMenu = false 
this.Maxbox = false 
this.Minbox = false 

如果你不能得到固定窗口的大小和需要訴諸醜陋的東西,你可以在窗口的大小調整事件中嘗試一些變化。不建議,即使使用重繪,窗口也可能閃爍。實例變量會阻止您的代碼遞歸地觸發自身並以堆棧錯誤結束。

// force the window to be a size 
if not ib_forcing_resize then 
    if newwidth <> 800 or newheight <> 600 then 
     ib_forcing_resize = true 
     this.setredraw(false) 
     this.width = 800 
     this.height = 600 
     this.setredraw(true) 
     ib_forcing_resize = false 
    end if 
end if