Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » i can't find the reason this problem occur Collapse All
Subject Author Date
park ki tae Mar 25, 2010 - 1:01 AM

 


 first all i’m sorry i’m not good at english.


 i have a problem using  CExtTabMdiWhidbeyWnd .


 when i created child view in UI Thread, no ploblem


 but when i created child view in Multi Thread, it occur problem.


attach homepage address including screen captrue jpg file.


i can’t find the reason why this problem occur.


 http://blog.naver.com/nowan4ever/memo/30083138264

Technical Support Mar 31, 2010 - 8:24 AM

Please try implementing the following in your multithreaded project:

- If the worker thread changes the MDI child frame widow title or its document title, then it should send some (WM_USER+123) message to the main frame window.

- The main frame window should handle the (WM_USER+123) message. The message handler should invoke the CExtTabWnd::UpdateTabWnd() method of the Whidbey MDI tabs control.

We believe this solution will provide the MDI tab items with the correct size and layout.

park ki tae Mar 30, 2010 - 2:31 AM

 


 Thank for your answer.


 I Watch out the OnTabWndQueryItemText() Function. But Thereis no differencem, pActiveDoc->GetTitle() returns same value.


So I follow the function step by step...


i found the difference in " void CExtTabWhidbeyWnd::stat_OnTabWndDrawItemWhidbeyImpl()" Function.


The  rcEntireItem Parameter Value is different.


rcEntireItem value In UI Thread  Is  " {top=6 bottom=21 left=13 right=126} "

rcEntireItem value In WorkThread  Is  "   {top=3 bottom=20 left=1 right=25}"


The rcEntireItem Recr’s width is 5. So it is not enough to short drawing The Document Title Text In WorkThread.


 

Technical Support Mar 25, 2010 - 7:53 AM

The CExtTMWI::OnTabWndQueryItemText() virtual method provides MDI tab items with text strings. It can use the CDocument::GetTitle() API in the single threaded version of your application. It can use the CWnd::GetText() API in the multithreaded version of your application. It’s possible the document title and MDI child frame window text is different. You can setup breakpoint into the CExtTMWI::OnTabWndQueryItemText() method and debug it in both versions of your application to see the difference.

park ki tae Mar 30, 2010 - 2:32 AM

Thank for your answer.


 I Watch out the OnTabWndQueryItemText() Function. But Thereis no differencem, pActiveDoc->GetTitle() returns same value.


 


So I follow the function step by step...


 


i found the difference in " void CExtTabWhidbeyWnd::stat_OnTabWndDrawItemWhidbeyImpl()" Function.


 


The  rcEntireItem Parameter Value is different.


 


rcEntireItem value In UI Thread  Is  " {top=6 bottom=21 left=13 right=126} "



rcEntireItem value In WorkThread  Is  "   {top=3 bottom=20 left=1 right=25}"




The rcEntireItem Recr’s width is 5. So it is not enough to short drawing The Document Title Text In WorkThread