因此,我注意到Windows 7有一種令人不安的傾向,即阻止您將窗口標題欄拖離屏幕頂部。如果您嘗試在這種情況下使用窗口底部可拖動區域的空氣應用程序,並允許您將窗口頂部向上推過屏幕 - 它只會將窗口向下踢足夠遠以至於標題欄位於它所認爲的「可見區域」的頂部。拖動時調整AIR應用程序窗口的大小
解決方法之一是在應用程序窗口移動時調整其大小,以便標題欄始終位於Windows需要的位置。但是,如何在拖動時調整窗口大小?你會這樣做嗎?
dragHitArea.addEventListener(MouseEvent.MOUSE_DOWN, function(e:MouseEvent):void{
stage.nativeWindow.height += 50;
stage.nativeWindow.startMove();
stage.nativeWindow.height -= 50;
});
看看那裏發生了什麼?當我點擊時,我正在做startMove()
,它掛鉤到OS的拖動窗口的功能。我也增加和減少了50個像素的窗口高度 - 這應該不會讓我淨增加,對吧?
錯誤 - 第一個'.height +=
'被執行,但.startMove()
之後的'.height -=
'從未運行。
爲什麼?
**更新** - 如果您好奇,我正在編程一個帶有向上和向上擴展的飛出菜單的空氣部件 - 並且由於這些部件只能在應用程序窗口本身的邊界內顯示即使該窗口設置爲無鑲邊且透明的),我必須展開應用程序的邊框以包含菜單「彈出」的區域。在極端的情況下,小部件位於左下角,菜單完全擴展到屏幕的右側和頂部邊緣,應用程序區域可以很好地覆蓋整個桌面。 – 2010-04-06 07:14:15
問題是,當它像這樣擴展時,如果用戶將其向右拖動,它會導致應用程序窗口的「標題欄」區域移動到桌面區域的頂部邊緣之上,它通常會在無法訪問;並且一旦'.startMove()'操作完成,Windows就會自動將窗口重新定位到該邊緣之下。 所以我想要做的是不斷調整應用程序的高度,以便操作系統的利益,以便窗口的標題欄永遠不會超出桌面區域的頂部邊界。 – 2010-04-06 07:14:38
我想知道是否有人意識到正確的答案很可能是「你不行」,如果他們提交,他們會得到這個賞金? – 2010-04-12 18:14:56