Professional UI Solutions
Site Map   /  Register


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 » CExtStatusControlBar not triggering DrawItem( ) after Invalidate( ) . Collapse All
Subject Author Date
Dennis Ioakim Sep 23, 2010 - 2:00 AM

Good day,

I am using your library in an MFC application.

I create a custom statusbar derived from CExtStatusControlBar:

class CMyStatusCtrl : public CExtStatusControlBar .....

If i run the application, it seems that the statusbar does not carry the theme of the other Prof controls. (As set by InstallPaintManager ( ) )

So i go and do the following in my custom class’ cpp:

In the message map instead of  BEGIN_MESSAGE_MAP(CScadaStatusCtrl, CStatusBar)

i put BEGIN_MESSAGE_MAP(CScadaStatusCtrl, CExtStatusControlBar )

Now the theme is applied correctly on the status bar BUT when an m_wndStatusBar.Invalidate( ) is executed, the DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) is not triggered. All drawing happens in this function.

Any ideas how to apply the correct theme, without messing up the DrawItem function? Or perhaps another way to implement this?

Thanx in advance.


Technical Support Sep 24, 2010 - 10:16 AM

The CExtStatusControlBar class implements a completely repainted version of the CStatusBar class with a set of additional features and handy methods. Please override the CExtStatusControlBar::OnPaintPane() virtual method.