進行多視窗開發該注意事項

  • 2999
  • 0
  • 2010-02-06

進行多視窗開發該注意事項

I. 前言

隨著時代的進步,雙螢幕似乎不是件令人覺得訝異的事。

當某天客戶突然要求開發多視窗系統也是有可能的

常言道,機會是給準備好的人,本篇來分享一下坎尼開發這類型系統的心得

II. 注意事項

(i) 多視窗就是主視窗的延伸

這是開發此類系統最重要的一點,其實大多數的問題都可由此項觀念來解決

 

舉例來說,目前使用者有兩個螢幕,分別為 A 和 B,解析度皆為 1024 x 768

螢幕 A 為本來的畫面,螢幕 B 在作業系統中會被視為延伸

故螢幕 B 的 X 軸範圍其實是從 1025 pixel ~ 2048 pixel,Y 軸則不變

scr01

此時若再接上解析度 1024 x 768 的螢幕 C,則螢幕 C 的 X 軸範圍為 2049 ~ 3072 (見下圖

scr02

(ii) 視窗可被組合,但仍為螢幕的延伸

當螢幕為 4 個以上時,此時 Windows 會出現組合型的選項 (但一般這類都是用顯示卡廠商提供的軟體調整)

以4螢幕來講,常見的組合有兩種:1 x 4 及 2 x 2

1 x 4 用實際的情況來想,就是 4 台螢幕像火車一樣排排站 (再用一次上一張圖,大家請自行再加一臺螢幕 :)

scr02

而 2 x 2 類可以想像成把兩個螢幕疊在另外兩個上面

scr03

還記得 (i) 所說的嗎? 多視窗為主螢幕的延伸

若是要把應用程式投到不同的視窗去,此時要注意的是仍以 X 軸為主 (但似乎可以用軟體調整? 這個坎尼不敢確定)

(iii) 在不同螢幕開啟程式

當有把應用程式子視窗放在不同地方的需求時,要注意的就是 (ii) 所提到的座標位置

再配合 WinForm App 的 Location.X 或是 javascript 中的 window.moveTo 去移動視窗

 

不過這個坎尼之前有遇到鬼打牆的情況,以自己接的設備是 ok

但到客戶那邊怎麼用程式去控制位置,都停會在主視窗的右邊邊界

似乎和螢幕的不同解析度以及硬體也有關係?

III. 小結

坎尼分部在點部落也開張啦,今後也會和 .NET 碎碎念一起不怠懈

希望大家也來多多捧場和指教 :)

 

另外觀念有誤的地方還望各位前輩糾正 ^^