c ++ - RTL layout problem for Property Sheets (MFC)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kører mit engelske program i arabisk Windows. Den indeholder et ejendomsark UI (MFC). Alt ser ud til at være fint (Venstre-til-Højre eller LTR), undtagen knapperne (OK, Annuller, Anvend og Hjælp), som er Højre til Venstre eller RTL. Men hvordan man laver knapperne LTR?



  • Jeg spillede med flag PSH\_RTLREADING nævnt på MSDN, men det handler kun om vinduet billedtekst, ikke knapperne.

  • Desuden bemærkede jeg dette dicussion, men der er ikke en god løsning. [1]


Bedste reference


Svaret er givet af Raymond Chen [1] og en anden Microsoft-medarbejder [2]; du skal fjerne WS\_EX\_LAYOUTRTL stilen fra knapperne i vinduet oprettet af din cdialog (aka CPropertySheet). Du kan enten gøre det globalt, når du opretter din CMainFrame og arver det til alle børnevinduer eller lokalt ved at ændre vinduestilen fra GWL\_EXSTYLE.


[1] http://blogs.msdn.com/b/oldnewthing/archive/2010/06/11/10023274.aspx[2]


[2] http://social.msdn.microsoft.com/Forums/da/vcgeneral/thread/057612e7-6cd4-44cf-a746-6370ace5de09[3]