1
3つのページ(またはフォーム)を含むフォームがあり、2ページがRTL方向にペルシア語で、1つがLTRです。親フォームを次のようにRTLモードに設定しました。MFCでlistcntrlの方向を変更する際にエラーが発生しました
if (Create(CWnd::FromHandle(hWndParent),
WS_SYSMENU | WS_POPUP | WS_CAPTION | DS_MODALFRAME | WS_VISIBLE | DS_CONTEXTHELP ,
WS_EX_LAYOUTRTL | WS_EX_CONTROLPARENT | WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME) == 0)
return IDCANCEL;
すべてのページがRTLモードになります。その英語のページでは、私はLTRモードにする必要がありlistcntrlを持っているので、私は英語のページクラスでこのコードを記述します。
LONG lStyle = ::GetWindowLong(GetDlgItem(IDC_LST_ITEMS)->m_hWnd,GWL_EXSTYLE);
lStyle &= ~WS_EX_LAYOUTRTL;
::SetWindowLong(GetDlgItem(IDC_LST_ITEMS)->m_hWnd, GWL_EXSTYLE, lStyle);
実際にはすべての項目がLTRに私のリストコントロールの変更が、私のヘッダに含ま列はRTLです。
この問題を解決するにはどうすればよいですか?
どうもありがとう、Barmakを。 – reza