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 Tech Support » CExtButton dispears when application be switched if CExtButton mouse overed Collapse All
Subject Author Date
delu qiu Apr 27, 2006 - 8:44 AM

Hi,

I got an CExtButton display problem. the CExtButton dispear after the application be switched off and switched back using ALT+TAB if meantime the CExtButton mouse overed. but CButton do not has this problem. There are two conditions cause problem:
1.CExtButton be mouse overed.
2.Main application be switched off and switched back.

My project is a single document application without document/view architecture support. I create class CMainView which inherited from CFormView as the main view of the application.
And I put three controls in CMainView, they are CExtButton, CButton and a user-created CLeftTab which inherited from CTabCtrl. And, CMainView contains CLeftTab, and CLeftTab contains CExtButton and CButton.

I have to mention that CLeftTab and CMainView was redrawed by OnPaint(), both of them use GetClientRect() and FillRect() to redraw the background.

Does my code conflicts with CExtButton? Any suggestion would be appappreciated.

Thanks



Danny Parks Jan 6, 2016 - 3:44 PM

What worked for me was removing WS_CLIPSIBLINGS from the ModifyStyle() call in CExtButton::PreSubclassWindow(). Then my group box could proceed the "child" controls in tab order as well.

delu qiu Apr 27, 2006 - 9:27 AM

I am getting close to the bug, I think the CLeftTab conflicts with CExtButton.
when I move the CExtButton out of the CLeftTab, there is no dispear problem.

delu qiu Apr 27, 2006 - 10:17 AM

CLeftTab and CMainView redraw function removed, problem still exists.

Technical Support Apr 27, 2006 - 11:20 AM

The problem can be easily fixed. First of all, please add the WS_CLIPSIBLINGS and WS_CLIPCHILDREN styles to the dialog template resource used by your form view window. Second, if there are some group boxes in this dialog template resource, please check the tab order for all the controls. The tab order number of each group box control should be greater that the tab order of any control "inside" the group box. Third, if your form view window is based on the CExtWS template class and enabled for horizontal and/or vertical scrolling, then you should handle the WM_HSCROLL and WM_VSCROLL standard Windows messages and repaint all the content including the form view window itself and all the child windows.

delu qiu Apr 27, 2006 - 12:06 PM

I send a email attached my project to ’support@prof-uis.com’ before I received this tech support.

In the attached project I put three controls in CMainView, they are CExtButton, CButton and CTabCtrl. And, CMainView contains CTabCtrl, and CTabCtrl contains CExtButton and CButton.

And the problem in attached project was fixed by followed the first two point in tech support.

But the problem still exists in the original project.


Technical Support Apr 30, 2006 - 11:49 AM

We have not received your project so far. Would you send it again to support@prof-uis.com?