Print Page | Close Window

MultiLanguage-RTL Issues

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: General Discussion
Forum Description: Topics Related to Visual C++ MFC Development in General
URL: http://forum.codejock.com/forum_posts.asp?TID=7417
Printed Date: 26 April 2024 at 7:41am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: MultiLanguage-RTL Issues
Posted By: Kenneth
Subject: MultiLanguage-RTL Issues
Date Posted: 20 June 2007 at 2:27pm
I am still having problems with language RTL display issues in toolkitpro.  First, if I do a dynamic language change from a LTR to a RTL language, a CXTPStatusBar with text panes or other embedded items does not switch correctly.  This can be easily duplicated in the current toolkitpro multilanguage samples.
 
Next, at times, it is desirable to force RTL display at initial program start by using the Microsoft recommended method of:
 
SetProcessDefaultLayout(LAYOUT_RTL)
 
instead of setting the WS_EX_LAYOUTRTL extended flag in all open task windows as is currently done in the toolkitpro samples.  The recommended Microsoft method does work with toolkitpro, however if the language is switched from RTL to LTR while the application is still running then using SetProcessDefaultLayout(0) or the method of resetting WS_EX_LAYOUTRTL in all the open task windows does not work for the application menu.  The menu bar is displayed LTR, the menu items are correctly displayed with the new language, but the menu dropdown text is still displayed RTL.
 
Are these problems going to be corrected?
 



Replies:
Posted By: Oleg
Date Posted: 21 June 2007 at 1:38am
Hello,
 
Call additionally GetCommandBars()->SetLayoutRTL(FALSE);


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kenneth
Date Posted: 28 June 2007 at 9:06am

That resolves the menu dropdown text but the CXTPStatusBar still displays the embedded controls incorrect.  Does the lack of response indicate this will never be fixed?



Posted By: Oleg
Date Posted: 29 June 2007 at 1:14am
Hi,
 
I don't see this problem with our samples.
Modify one of sample and attach it here to show what you do/what code you run.


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kenneth
Date Posted: 29 June 2007 at 9:38am

I have attached mainfrm.zip containing a modified mainfrm.cpp and mainfrm.h that adds three controls to the current MultiLanguage sample.

The only chages are the addition of the three functions to create and place the controls at the bottom of mainfrm.cpp and the logic to call these functions in the mainfrm.cpp OnCreate function.
 
The following image displays the problem.  The top statusbar is for English and the bottom statusbar is for Saudi Arabia.  Note the extra words "LOGO", "EDIT" and "PROG".  Note also the location of the three controls have not changed. 
 
 
 
https://forum.codejock.com/uploads/20070629_092950_Mainfrm.zip - uploads/20070629_092950_Mainfrm.zip


Posted By: Oleg
Date Posted: 30 June 2007 at 4:55am
Probleam that CStatusBar::OnSize was not called and UpdateAllPanes method also (try to resize frame)
 
as workaround you can add in CMainFrame::ResetCommandBars
m_wndStatusBar.SetPaneWidth(0, 0);
- it will call UpdateAllPanes method.
 
need to make UpdateAllPanes  public for next release....


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Kenneth
Date Posted: 22 September 2007 at 12:52pm
UpdateAllPanes is still protected?



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net