2014-11-04 41 views
0

我應該設計一個尺寸爲640 * 480的對話框,可以在800 * 600分辨率下使用。如何設計可在800 * 600分辨率下使用的640 * 480對話框?

目前我的對話框的大小是411 * 292,看上去聰明一點本身看起來不夠好,但實際上我 問與我提到above.I尺寸設計對話框嘗試,也不過該對話框太比格爾 比我早期的411 * 292大小的對話框。

同時使用800 * 600分辨率或我的對話似乎更大,而不是能看到我的一些控制

這是我的對話框的大小,

IDD_DIALOG_MYPAGE DIALOGEX 0, 0, 411, 292 

任何人都可以請讓我知道如何設計一個640 * 480的對話框(它不應該更大)。 如何使我的應用程序適合任何分辨率,以便對話框上的所有控件都應該可見。

+0

800 * 600屏幕中的640 * 480 - 問題是什麼? – 2014-11-04 11:55:55

+0

你有捕獲嗎?你的問題很難理解... – ArthurCPPCLI 2014-11-04 11:59:16

回答

0

對話框在對話框單位和對話框單位中按比例縮放當前UI設置,並取決於系統字體。所以如果用戶選擇一個更大的UI表示,你的Dialog也會增長。

最好建議1我可以給:大小由你自己控制。選擇一個你喜歡的字體。將其設置爲Control,計算新控件的位置並使用SetWindowPos/MoveWindow。

只有在這種情況下,你有完全的控制。

您也可以在對話框資源使用固定的字體大小,但阿洛斯於DPI這種字體尺度選擇屏幕條約資料...

所以最好的建議2,我可以給:於DPI縮放/用戶界面設置和顯示用戶需要的大小的對話框,多數民衆贊成在正常的對話框會做...

0

你在一個痛苦的世界。如果我理解正確,則會要求您創建一個始終爲640 * 480像素的對話框。看起來無論誰問起自1995年以來都沒有跟上UI的發展。「像素」在2014年毫無意義。首先,資源文件中的單位是'DLU','對話長度單位'。見例如http://blogs.msdn.com/b/oldnewthing/archive/2004/02/17/74811.aspx和support.microsoft.com/kb/125681一些初學者如何將一個轉換爲另一個。但是,高DPI顯示這些方法是不夠的。現在它不再僅僅依賴於系統字體的大小,而且還取決於用戶選擇的設置,以便在各種顯示器上顯示「事物」的大小,是否根本不區分顯示器等。請參閱開始http://msdn.microsoft.com/en-us/library/windows/desktop/dn469266%28v=vs.85%29.aspx。但要小心,因爲這些API有更新 - 例如Win7,Win8和Win8.1都有這方面的新功能。

所有這些當然不會幫助你。製作適合640x480以上的對話框並不難,儘可能小。但是這部分:「我怎樣才能使我的應用程序適合任何分辨率,以便對話框中的所有控件都應該可見。」真的很難。 「任何」意思是「還小於640x480」嗎?而且「合適」是否意味着它應該在更高分辨率上看起來「原生」?該對話框可以調整大小嗎?你可以採用上面提到的xMRi所建議的簡單穩健的方法,或者你必須要問誰寫了你的規範,以便更清楚他們想要的內容,同時牢記上面列出的所有事情。

相關問題