Controls locking up the application in sheet contained within a TabCtrl ( Controls, CDialog and CTabCtrl problems ) 
Author Message
 Controls locking up the application in sheet contained within a TabCtrl ( Controls, CDialog and CTabCtrl problems )

Hello all,

  I am having a problem with some controls in a dialog box. Originally I had
assert errors, but I have solved this problems ( I think unless what I have
done is related to my current problem. ) I have an application who's main
window is a dialog box. In this dialog box I have a classed that is derived
from CTabCtrl. There is going to be seven tabs with each tab sheet having
its own class that is inserted into my derived class.

  I want each tab sheet to have it own class since it will be doing some
processing. Right now I am working on one tab sheet. I have create spin
counter using two controls ( CEdit and CSpinButtonCtrl ) using the buddy
declaration found in CSpingButtonCtrl. Initially I knew soemthing was wrong
since I set some values, but they were not showing up when you first went to
the tab sheet. The values I was setting is

  m_NumOfVAZonesCtrl.SetRange( 0, 10 );
  m_NumOfVAZonesCtrl.SetBase( 10 );
  m_NumOfVAZonesCtrl.SetPos( 10 );

  When you go tab sheet it doesn't start at 10, but 0. In additon whenever
you click on any controls ( check box, button spinner control etc.. ) the
applications locks up. I have included some source listing to help out. I
also found by changing the line

m_tabFormPages[5]->Create( IDD_FORM_VA,       this );

to

m_tabFormPages[5]->Create( IDD_FORM_VA,       NULL );

then selecting a control on the tab sheet doesn't lock up the application,
but it still isn't displaying the values I initialized it to.

  The program class structure goes like this..

  CSGUIDictionaryGenDlg
    -> CFormTabCtrl ( a derived CTabCtrl that is in main dialog screen,
                          has 7 tab sheets )
          -> CFormVideoAnnouncement ( which is the current tab sheet I am working
                                      on that is contained within CFormTabCtrl )

Does anyone have any idea what is causing this? Thanks. I have included some
source code, but I have tried to only list code that would he helpful and some
code may be excluded from certain methods.

Mark Hicks

--------------- CFormTabCtrl ------------------------------

class CFormTabCtrl : public CTabCtrl
{
// Construction
public:
        CFormTabCtrl();

// Implementation
public:
        void SetRectangle();
        void Init();
        int m_nNumberOfPages;
        int m_tabCurrentForm;
        CDialog *m_tabFormPages[7];
        virtual ~CFormTabCtrl();

Quote:
};

/////////////////////////////////////////////////////////////////////////////
// CFormTabCtrl

CFormTabCtrl::CFormTabCtrl()
{

        m_tabFormPages[0] = new CFormEntertainment;
        m_tabFormPages[1] = new CFormMenu;
        m_tabFormPages[2] = new CFormOverHeadCrtl;
        m_tabFormPages[3] = new CFormPFIS;
        m_tabFormPages[4] = new CFormSeatCtrl;
        m_tabFormPages[5] = new CFormVideoAnnouncement(this);
        m_tabFormPages[6] = new CFormVideoDirector;

        m_nNumberOfPages = 7;

Quote:
}

/////////////////////////////////////////////////////////////////////////////
// CFormTabCtrl message handlers

void CFormTabCtrl::Init()
{
  m_tabCurrentForm = 0;

  m_tabFormPages[0]->Create( IDD_FORM_ENT,      this );
  m_tabFormPages[1]->Create( IDD_FORM_MENU,     this );
  m_tabFormPages[2]->Create( IDD_FORM_OVERHEAD, this );
  m_tabFormPages[3]->Create( IDD_FORM_PFIS,     this );
  m_tabFormPages[4]->Create( IDD_FORM_SEATCTRL, this );
  m_tabFormPages[5]->Create( IDD_FORM_VA,       this );
  m_tabFormPages[6]->Create( IDD_FORM_VD,       this );

  m_tabFormPages[0]->ShowWindow( SW_SHOW );
  m_tabFormPages[1]->ShowWindow( SW_HIDE );
  m_tabFormPages[2]->ShowWindow( SW_HIDE );
  m_tabFormPages[3]->ShowWindow( SW_HIDE );
  m_tabFormPages[4]->ShowWindow( SW_HIDE );
  m_tabFormPages[5]->ShowWindow( SW_HIDE );
  m_tabFormPages[6]->ShowWindow( SW_HIDE );

  SetRectangle();

Quote:
}

--------------- CFormVideoAnnoucement ------------------------------

class CFormVideoAnnouncement : public CDialog
{
// Construction
public:
        CFormVideoAnnouncement(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
        //{{AFX_DATA(CFormVideoAnnouncement)
        enum { IDD = IDD_FORM_VA };
        CEdit   m_NumOfVAZones;
        CSpinButtonCtrl m_NumOfVAZonesCtrl;
        //}}AFX_DATA

// Implementation
protected:
        virtual BOOL OnInitDialog();

Quote:
};

/////////////////////////////////////////////////////////////////////////////
// CFormVideoAnnouncement message handlers

BOOL CFormVideoAnnouncement::OnInitDialog()
{
  // RECT rc1 = { 100, 100, 120, 120 };
  m_NumOfVAZones.Create(0, CRect(100, 100, 120, 120), this, IDC_VA_NUMZONE );
  //RECT rc2 = { 100, 100, 120, 130 };
  m_NumOfVAZonesCtrl.Create(0, CRect(100, 100, 120, 130), this, IDC_SPIN1);

  CDialog::OnInitDialog();

  m_NumOfVAZonesCtrl.SetRange( 0, 10 );
  m_NumOfVAZonesCtrl.SetBase( 10 );
  m_NumOfVAZonesCtrl.SetPos( 1 );

  return TRUE;

Quote:
}

--------------- CSGUIDictionaryGenDlg ------------------------------

BOOL CSGUIDictionaryGenDlg::OnInitDialog()
{
//snip

        m_tabForms.InsertItem(0, _T("Entertainment") );
        m_tabForms.InsertItem(1, _T("Menu") );
    m_tabForms.InsertItem(2, _T("Over Head Controls") );
        m_tabForms.InsertItem(3, _T("PFIS") );
        m_tabForms.InsertItem(4, _T("Seat Controls") );
        m_tabForms.InsertItem(5, _T("Video Announcement") );
        m_tabForms.InsertItem(6, _T("Video Director") );

  m_tabForms.Init();

        return TRUE;  // return TRUE  unless you set the focus to a control

Quote:
}



Fri, 24 Jan 2003 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. Controls locking up the application in sheet contained within a TabCtrl ( Controls, CDialog and CTabCtrl problems )

2. Lock Statement behavior with other objects within the locked object, and enumerators

3. Richtext edit controls within property sheets

4. Richtext edit controls within property sheets

5. Property Sheet within a Property Sheet

6. upside down TabCtrl like the Excel sheets

7. Q: Property sheet within a property sheet

8. Call a Function of the Parent Dialog within a TabCtrl Dialog

9. Controlling synchronization and locking of objects in a web application

10. Registering ActiveX controls from within a MFC application

11. Sorting a last names that are contained within a structure

12. pop ups in webbrowser control

 

 
Powered by phpBB® Forum Software