积极答复者
Win8 Metro(C++)应用开发如何实现分辨率自适应?

问题
答案
-
CoreWindow^ rcWindow = Windows::UI::Xaml::Window::Current->CoreWindow; Rect rcScreen = rcWindow->Bounds;
获得当前屏幕的分辨率
this->SizeChanged += ref new SizeChangedEventHandler(this, &Page::Page_SizeChanged); 添加这个消息就可以在Page中捕获到大小改变的消息,然后自己处理
- 已建议为答案 Jie BaoModerator 2012年8月6日 9:40
- 已标记为答案 Jie BaoModerator 2012年8月14日 3:15
-
如果你良好的使用了布局系统,如Grid等布局组合使用,可以设计出一个适应不同分辨的应用界面的。 Grid布局中的元素在没有强制设定大小和位置情况下,默认是进行填充显示的,所以使用Grid作为布局的最高层,有利于其中元素对不同大小页面的自动适应。
如果限制使用布局,则你就需要根据当前页面大小 (即分辨率,我们推荐通过当前窗体大小来计算分辨率)来计算布局你的元素。在不同DPI下,窗体大小返回相同,这点说明了Metro 度量与DPI独立。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年8月14日 3:15
全部回复
-
CoreWindow^ rcWindow = Windows::UI::Xaml::Window::Current->CoreWindow; Rect rcScreen = rcWindow->Bounds;
获得当前屏幕的分辨率
this->SizeChanged += ref new SizeChangedEventHandler(this, &Page::Page_SizeChanged); 添加这个消息就可以在Page中捕获到大小改变的消息,然后自己处理
- 已建议为答案 Jie BaoModerator 2012年8月6日 9:40
- 已标记为答案 Jie BaoModerator 2012年8月14日 3:15
-
如果你良好的使用了布局系统,如Grid等布局组合使用,可以设计出一个适应不同分辨的应用界面的。 Grid布局中的元素在没有强制设定大小和位置情况下,默认是进行填充显示的,所以使用Grid作为布局的最高层,有利于其中元素对不同大小页面的自动适应。
如果限制使用布局,则你就需要根据当前页面大小 (即分辨率,我们推荐通过当前窗体大小来计算分辨率)来计算布局你的元素。在不同DPI下,窗体大小返回相同,这点说明了Metro 度量与DPI独立。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jie BaoModerator 2012年8月14日 3:15