2016-07-28 34 views
0

我目前有這個,但它不工作。我想讓窗口動態地移動元素。我究竟該怎麼做?

我該怎麼做?

通過動態,我的意思是像this

int X = GetSystemMetrics(SM_CXSIZE); 
int Y = GetSystemMetrics(SM_CYSIZE); 

// Window 
#define WBARSIZE int(X + 128/BARS) 
#define WWIDTH (BARS * WBARSIZE) 
#define WHEIGHT Y + 128/6.35 
+0

你的問題沒有意義。請澄清。 –

+0

我想讓它動態調整大小,它適合窗口,不管窗口的大小是多少 – will0956

+0

這應該是問題本身,而不是評論。 –

回答

0

的回答你的問題取決於你使用的庫窗口管理。它是Qt嗎? Win32的?還有別的嗎?

你應該做的一般想法是將小部件錨定到不同的地方,並讓它們相對於錨點移動。

+0

這是WIn32。 「你應該做什麼的一般想法是將小部件錨定到不同的地方,並讓它們相對於錨點移動。」 如何? – will0956

+0

@ will0945我沒有win32的經驗,所以你的猜測和我一樣好。谷歌一點,或者等待別人更深入的回答。 –

+1

@ will0945創建窗口小部件時,如果它位於窗口記錄的右下角1)窗口的高度和寬度是多少2)窗口小部件的右側距窗口右側多遠3)窗口底部距窗口底部多遠。然後當你得到一個WM_SIZE消息1)計算新的高度與原始高度%2)計算新的寬度與原始寬度%3)移動小部件,使底部距離底部邊緣的「高度百分比*原始底部距離」右邊是右邊緣的「寬度百分比*原始右邊距離」。 –