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 » Problem in CExtPaintManager with Prof-Uis 2.90 Collapse All
Subject Author Date
Nicolas Pinaud Jul 27, 2010 - 10:05 AM

Hello,


At first, saddened for my English, but I am French...


I use for the first time Prof-UIS 2.90 instead of Prof-UIS 2.85.

In the compilation, I obtain the following error :


"error C2039: ’m_FontNormalVertX’: is not a member of ’CExtPaintManager’"

And effectively, I notice that ’m_FontNormalVertX’ is not member any more of CExtPaintManager.


What may I make to correct this problem?

Is the variable ’m_FontNormal’ sufficient?


What consequences on my project?


Thank you in advance for your answer.


Nicolas Pinaud Aug 25, 2010 - 3:29 AM

Hello,


I boost the thread.

I am sorry, but I do not manage to reformat correctly my pop-menu, and more particularly to reposition my text correctly in the left area of the pop-menu.

Can you say to me what is bad my code?


The orientation of the text is correct, but I do not manage to place it correctly, as in your example ProfUIS_Controls-ym.exe


Thanks a lot for your help.


 


 ///////////////////////////////////////////////////////////////////////////////////////////



LRESULT CFicheJournaliere::OnDrawPopupLeftArea(WPARAM wParam, LPARAM lParam)


{


wParam;


CExtPopupMenuWnd::DRAWLEFTAREADATA * pDrawLeftAreaData =


 



reinterpret_cast < CExtPopupMenuWnd::DRAWLEFTAREADATA * > ( lParam );if( (pDrawLeftAreaData->m_pPopup->TrackFlagsGet()&TPMX_PALETTE) != 0 )return 0;// get draw DC

CDC & dc = *( (CDC *) *pDrawLeftAreaData );


 


CRect rcItem = LPCRECT(*pDrawLeftAreaData);


CExtPaintManager::stat_PaintGradientRect(dc,&rcItem,dc.GetNearestColor( RGB( 0, 0, 0 ) ),dc.GetNearestColor( RGB( 100, 100, 255 ) ), true);


 


 


 



INT nOldBkMode = dc.SetBkMode( TRANSPARENT );


COLORREF clrOldText = dc.SetTextColor( RGB( 0, 0, 0 ) );


 



CFont font;


font.CreateFont(-18, 0, 900, 900,900, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman");


CFont* pFont = dc.SelectObject(&font);


dc.SetTextColor( RGB( 255, 255, 255 ) );


dc.DrawText("Sacha", rcItem,DT_SINGLELINE | DT_CENTER | DT_VCENTER);


dc.SelectObject(pFont);


font.DeleteObject();



 


 


HICON hIcon = (HICON)


::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_SACHATYPE),IMAGE_ICON,nIconMetric,nIconMetric,0);


 


{


 


VERIFY(::DrawIconEx(dc.GetSafeHdc(),rcItem.left + nOffset,rcItem.top + nOffset,hIcon,nIconMetric,nIconMetric,0,(HBRUSH)NULL, DI_NORMAL));


VERIFY( DestroyIcon( hIcon ) );


}


 


dc.SetBkMode( nOldBkMode );


dc.SetTextColor( clrOldText );


const int nIconMetric = 24;if( hIcon != NULL )int nOffset = (rcItem.Width() - nIconMetric) / 2;

dc.SelectObject( pFont );


 


 


}


return (!0);

 ///////////////////////////////////////////////////////////////////////////////////////////



ASSERT( pDrawLeftAreaData != NULL );


ASSERT( pDrawLeftAreaData->m_pPopup != NULL );


 


 


 


 

Nicolas Pinaud Aug 25, 2010 - 3:39 AM

Sorry, do not take into account my last message, I launch a new thread.

Nicolas Pinaud Jul 27, 2010 - 10:56 AM

Ok, thanks for this answer.


I look immediatly the RichContentFeatures sample application.


Thanks again 

Technical Support Jul 27, 2010 - 10:49 AM

Prof-UIS 2.89 and older versions (including 2.85):
- The DrawText() Win32 API is used for painting horizontal text.
- The ExtTextOut() Win32 API is used for painting vertical text. That’s why the paint manager’s m_FontNormalVertX property was present for keeping vertically oriented font handle.

Prof-UIS 2.90 and later versions does not use the Win32 text output APIs anymore. The HTML-based engine demonstrated in the new RichContentFeatures sample application is used for painting both horizontal and vertical text, both HTML and plain text (according to the classic DT_*** flags used by the DrawText() Win32 API), both Vista/7 text over glass with/without glow and simple text over non-glass window surface.

We don’t need to cache many font handles anymore. The m_FontNormalVertX paint manager’s property and other vertically font handles were removed in Prof-UIS 2.90. We recommend you to switch using new text output APIs demonstrated in the RichContentFeatures sample application. But if you need vertically oriented fonts, then you can simply re-create the m_FontNormal paint manager’s font via guerying its LOGFONT, changing font escapement and creating new vertically oriented font.

Nicolas Pinaud Jul 27, 2010 - 10:58 AM

Sorry for the mistake 


So, i begin again...


 


Ok, thanks for this answer.


I look immediatly the RichContentFeatures sample application.


Thanks again