Ich habe ein Problem, dass ich ein Formular habe, das drei Seiten (oder Formulare) enthält, zwei Seiten sind Persisch in RTL-Richtung und einer von ihnen ist LTR. Ich habe meine Eltern Form in RTL-Modus wie folgt aus:Fehler beim Ändern der Richtung von listcntrl in MFC
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;
Und alle meine Seiten umblättern in die RTL-Modus. In dieser englischen Seite habe ich eine listcntrl, die in LTR-Modus sein, so schreibe ich diesen Code in der Klasse Englisch Seite:
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);
Eigentlich alle Einzelteile in meiner Liste Controller-LTR enthalten, aber mein Kopf und Spalte sind RTL.
Wie kann ich dieses Problem beheben?
Vielen Dank, Barmak. – reza