Click here to Skip to main content
15,890,527 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionInvalidate() Error CDialog Pin
mohit`1212-Aug-10 6:24
mohit`1212-Aug-10 6:24 
AnswerRe: Invalidate() Error CDialog Pin
Niklas L12-Aug-10 7:50
Niklas L12-Aug-10 7:50 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1213-Aug-10 4:53
mohit`1213-Aug-10 4:53 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1213-Aug-10 7:11
mohit`1213-Aug-10 7:11 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L13-Aug-10 21:10
Niklas L13-Aug-10 21:10 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1215-Aug-10 10:38
mohit`1215-Aug-10 10:38 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L15-Aug-10 22:28
Niklas L15-Aug-10 22:28 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1216-Aug-10 3:30
mohit`1216-Aug-10 3:30 
Hey, thx for your replyBig Grin | :-D
ok let me explain what i have done brifley,

I Have 3 classes.
First one is gphview which is formview based class which contains mytabctrl and on half window it contains some function of calculater(adding,multiply,subtract)
Second one is mytabcontrol which holds 9 different tabs and create dialog for each tab
Lastone is tab_one class which is dialog based class which draws the graphs according to tab selected.
In first gphView class :
void GphView::OnInitialUpdate( void)
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_tabMyTabCtrl.InsertItem(0, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(1, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(2, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(3, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(4, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(5, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(6, _T("Graph1"));
m_tabMyTabCtrl.InsertItem(7, _T("Graph1(occupied)"));

m_tabMyTabCtrl.Init();
}
In mytabctrl class:
CMyTabCtrl::CMyTabCtrl()
{

pTab = new CTab_one(this); // instance of tab_one class declared in header file CTab_one *pTab;

}

CMyTabCtrl::~CMyTabCtrl()
{

}

void CMyTabCtrl::Init()
{
m_tabPages[0]=new CTab_one; // m_tabpages declared in header like this CDialog *m_tabPages[8];
m_tabPages[1]=new CTab_one;
m_tabPages[2]=new CTab_one;
m_tabPages[3]=new CTab_one;
m_tabPages[4]=new CTab_one;
m_tabPages[5]=new CTab_one;
m_tabPages[6]=new CTab_one;
m_tabPages[7]=new CTab_one;

m_nNumberOfPages=8;

m_tabCurrent=0;
m_tabPages[0]->Create(IDD_TAB_ONE,this);
m_tabPages[0]->ShowWindow(SW_SHOW);

m_tabPages[1]->Create(IDD_TAB_ONE,this);
m_tabPages[1]->ShowWindow(SW_HIDE);

m_tabPages[2]->Create(IDD_TAB_ONE, this);
m_tabPages[2]->ShowWindow(SW_HIDE);


m_tabPages[3]->Create(IDD_TAB_ONE, this);
m_tabPages[3]->ShowWindow(SW_HIDE);

m_tabPages[4]->Create(IDD_TAB_ONE, this);
m_tabPages[4]->ShowWindow(SW_HIDE);


m_tabPages[5]->Create(IDD_TAB_ONE, this);
m_tabPages[5]->ShowWindow(SW_HIDE);


m_tabPages[6]->Create(IDD_TAB_ONE, this);
m_tabPages[6]->ShowWindow(SW_HIDE);


m_tabPages[7]->Create(IDD_TAB_ONE, this);
m_tabPages[7]->ShowWindow(SW_HIDE);


SetRectangle();


}

void CMyTabCtrl::SetRectangle()
{
CRect tabRect, itemRect;
int nX, nY, nXc, nYc;

GetClientRect(&tabRect);
GetItemRect(0, &itemRect);

nX=itemRect.left;
nY=itemRect.bottom+1;
nXc=tabRect.right-itemRect.left-1;
nYc=tabRect.bottom-nY-1;

m_tabPages[0]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_SHOWWINDOW);
for(int nCount=1; nCount < m_nNumberOfPages; nCount++){
m_tabPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);
}
}

BEGIN_MESSAGE_MAP(CMyTabCtrl, CTabCtrl)
//{{AFX_MSG_MAP(CMyTabCtrl)
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyTabCtrl message handlers

void CMyTabCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
CTabCtrl::OnLButtonDown(nFlags, point);

if(m_tabCurrent != GetCurFocus())
{
if(m_tabCurrent<=8){ m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE);}
m_tabCurrent=GetCurFocus();
m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
m_tabPages[m_tabCurrent]->SetFocus();
}
if(m_tabCurrent==0){

pTab->OnGraph4();}
}
And I have mentioned tab_one class in previous post..

thx..
GeneralRe: Invalidate() Error CDialog Pin
Niklas L16-Aug-10 9:15
Niklas L16-Aug-10 9:15 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1216-Aug-10 9:32
mohit`1216-Aug-10 9:32 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L16-Aug-10 10:22
Niklas L16-Aug-10 10:22 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1216-Aug-10 18:14
mohit`1216-Aug-10 18:14 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1217-Aug-10 9:11
mohit`1217-Aug-10 9:11 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L17-Aug-10 10:33
Niklas L17-Aug-10 10:33 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1218-Aug-10 5:34
mohit`1218-Aug-10 5:34 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L19-Aug-10 10:05
Niklas L19-Aug-10 10:05 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1220-Aug-10 6:27
mohit`1220-Aug-10 6:27 
GeneralRe: Invalidate() Error CDialog Pin
Niklas L20-Aug-10 9:25
Niklas L20-Aug-10 9:25 
AnswerRe: Invalidate() Error CDialog Pin
KarstenK12-Aug-10 21:44
mveKarstenK12-Aug-10 21:44 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1213-Aug-10 6:09
mohit`1213-Aug-10 6:09 
GeneralRe: Invalidate() Error CDialog Pin
KarstenK15-Aug-10 22:13
mveKarstenK15-Aug-10 22:13 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1216-Aug-10 3:31
mohit`1216-Aug-10 3:31 
GeneralRe: Invalidate() Error CDialog Pin
KarstenK16-Aug-10 3:37
mveKarstenK16-Aug-10 3:37 
GeneralRe: Invalidate() Error CDialog Pin
mohit`1216-Aug-10 6:01
mohit`1216-Aug-10 6:01 
QuestionC++ MFC - DatePickerControl - DTN_DATETIMECHANGE event getting triggered twice when clicked !!!! Pin
Kausik4u12-Aug-10 4:26
Kausik4u12-Aug-10 4:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.