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 » CExtGridWnd Control Invisible In Page Navigator Collapse All
Subject Author Date
Michael Doyle May 16, 2007 - 4:02 PM

Dear Tech Support,

I use CExtGridWnd in a CExtResizableDialog, then embeded the dialog box into a folder of Page Navigator.

All other native controls such as static, radio, text box etc show just fine, the grid control does not.

If I not override WindowProc, the grid area show up as unpainted white block; If I override WindowProc and do WM_PAINT as sample, the grid area is completely blank, just like the normal background.

Any suggestion on how to handle this?

Thanks

Michael Doyle May 18, 2007 - 8:01 AM

I did last night.

Michael Doyle May 17, 2007 - 2:00 PM

Please give me an email address to send over the whole source code.





Technical Support May 18, 2007 - 5:10 AM

Please send it to support@prof-uis.com.

Michael Doyle May 17, 2007 - 8:30 AM

I simply modified PageNavigator sample code to replicate this.

I am using VC6.0 (SP3), and compile MBS static with MFC DLL.

1. I create dialog box CGridTestDlg containing one static text and one custom control (copied from grid page of ProfUIS_Controls sample).

2. Map the grid to dialog box member CExtGridWnd m_wndGrid as the control sample.

3. Add the dialog box to CMainFrame and add the dialog to the first view of mail folder.

class CMainFrame...
{
....

    /************** Argent Software Test Code ***************************/

    CGridTestDlg            m_wndGridTest;

    /*******************************************************************/
....
}



BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
...


    CExtPageNavigatorWnd::PAGE_ITEM_INFO * pPII =
        m_wndPageNavigator.ItemInsert(
            -1,
            _T("Mail"),
            (HICON)::LoadImage( ::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_MAIL), IMAGE_ICON, 24, 24, 0 ),
            (HICON)::LoadImage( ::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_MAIL_SMALL), IMAGE_ICON, 16, 16, 0 )
            );


    /************** Argent Software Test Code ***************************/

    m_wndGridTest.Create(
        CGridTestDlg::IDD,
        &m_wndPageNavigator
        );

    pPII->PaneInsert(
        m_wndGridTest.GetSafeHwnd(),
        -1,
        _T("Grid Test View"),
        300,
        true
        );


    /*******************************************************************/


....

}



BTW, how can I attach the full source to this message? or I can email to you?

Thx

Technical Support May 17, 2007 - 11:31 AM

Your code is absolutely correct but it does not cover all the details you provided. Is it possible to create a stripped version of your project containing UI code only and send it to us?

Technical Support May 17, 2007 - 3:12 AM

You can create the grid window as a child of any other window including as you did this. We need to look at the source code which creates the grid, dialog and page navigator windows. Of course, if you would send us a test project, that would even be better and let us help you faster.