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 » prof-uis 2.60 CExtLabel Bug Collapse All
Subject Author Date
Eugene Wineblat Sep 26, 2006 - 8:31 AM

I have created 2 dialogs using the Visual Studio Wizard.
After that I’ve changee CDialog to the CExtResizableDialog, create for all visual components corresponding prof-uis components and linked them with DDX.
All my CExtLabel’s (text on the dialog) behave very interesting : sometimes they are not visible, sometimes they are cut randomly, sometimes after random user actions they paint ’square-symbols’
like unsupported UNICODE symbols at the end of the text (My project is build with UNICODE support)
I have only one question : "What a hell is going there?"

P.S.: today was reinstalled prof-uis back to the 2.53 version - all work correctly... I’ll wait for explanations...

Eugene Wineblat Oct 3, 2006 - 5:06 AM

Yes, it helps.

Eugene Wineblat Sep 26, 2006 - 9:18 AM

P.S. Application is using skins...

Technical Support Sep 28, 2006 - 11:52 AM

The labels may be invisible because of group boxes. Since the Prof-UIS group box has a non-transparent background, the tab order is essential. Windows paints controls on the dialog step by step starting from the control with the highest tab order number to the control with the lowest number. So, ensure your group box is assigned the highest tab order number.

As for the "square-symbols" this bug is already fixed. Please open the CExtLabel::WindowProc method and find the following code snippet:

  else if( message == WM_GETTEXT )
  {
   TCHAR * lpszText = (TCHAR *)lParam;
   // 2.55
   // __EXT_MFC_STRCPY(
   //  lpszText, 
   //  wParam, 
   //  m_sText
   //  );
   ::memset( lpszText, 0, wParam );
   __EXT_MFC_STRNCPY(
    lpszText,
    wParam,
    m_sText,
    wParam - 1
    );
   lResult = TRUE;
  }
Add the following line just after the __EXT_MFC_STRNCPY and let us if the problem persist:
lpszText[ wParam - 1 ] = _T(’\0’);