ppc中有些控件不显示的问题
在vs05下使用mfc开发ppc(win ce.net)项目,在布置控件的时候发现下面这个问题
在IDE中控件正常显示:
结果在模拟器中变成这样:
静态文本“远程ip”没有显示,GroupBox中控件没有显示出来。
几次反复测试,发现跟以下IDE自动生成的代码有关:
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CClientDlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
DRA::RelayoutDialog(
AfxGetInstanceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_CLIENT_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_CLIENT_DIALOG));
}
#endif
注释掉之后效果如下:
静态文本“远程ip”显示正常,但GroupBox中控件全部不显示,再测试发现是由于Tab键顺序引起,GroupBox是不透明的控件,因此必须将GroupBox的Tab顺序设为最后,才能保证GroupBox中的控件全部显示。最终结果正常
:
在IDE中控件正常显示:
结果在模拟器中变成这样:
静态文本“远程ip”没有显示,GroupBox中控件没有显示出来。
几次反复测试,发现跟以下IDE自动生成的代码有关:
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CClientDlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
DRA::RelayoutDialog(
AfxGetInstanceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_CLIENT_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_CLIENT_DIALOG));
}
#endif
注释掉之后效果如下:
静态文本“远程ip”显示正常,但GroupBox中控件全部不显示,再测试发现是由于Tab键顺序引起,GroupBox是不透明的控件,因此必须将GroupBox的Tab顺序设为最后,才能保证GroupBox中的控件全部显示。最终结果正常
: