CEdit m_CompanyInfoText;
代码段 A
{
CRect rect(0,0,0,0);
this->GetWindowRect(&rect);
m_CompanyInfoText.Create(WS_CHILD|WS_VISIBLE|ES_CENTER,CRect(0,0,rect.right-rect.left,rect.bottom-rect.top ),this, 10047);
}CCompanyInfomationView是继承于CView CreateTextBox 在主框架里面调用
void CCompanyInfomationView::CreateTextBox(COLORREF colorbk)
{
TRACE("CreateTextBox");
}
BOOL CCompanyInfomationView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
TRACE("Create");
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
int CCompanyInfomationView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; TRACE("ONCREATE");
return 0;
}代码段A放到OnCreate中 可以创建,但是放到CreateTextBox(COLORREF colorbk)中就出现以下错误BOOL CEdit::Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID)
{
CWnd* pWnd = this; // this 0x00422b14 {CEdit hWnd=0x00000001}
return pWnd->Create(_T("EDIT"), NULL, dwStyle, rect, pParentWnd, nID);
}我从DEBUG中看到 创建顺序是Create ONCREATE CreateTextBox,请问为什么不能在CreateTextBox创建呢,另外在CreateTextBox中创建的时候
m_CompanyInfoText.Create(WS_CHILD|WS_VISIBLE|ES_CENTER,CRect(0,0,rect.right-rect.left,rect.bottom-rect.top ),this, 10047);每一个值都正确
代码段 A
{
CRect rect(0,0,0,0);
this->GetWindowRect(&rect);
m_CompanyInfoText.Create(WS_CHILD|WS_VISIBLE|ES_CENTER,CRect(0,0,rect.right-rect.left,rect.bottom-rect.top ),this, 10047);
}CCompanyInfomationView是继承于CView CreateTextBox 在主框架里面调用
void CCompanyInfomationView::CreateTextBox(COLORREF colorbk)
{
TRACE("CreateTextBox");
}
BOOL CCompanyInfomationView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
TRACE("Create");
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
int CCompanyInfomationView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; TRACE("ONCREATE");
return 0;
}代码段A放到OnCreate中 可以创建,但是放到CreateTextBox(COLORREF colorbk)中就出现以下错误BOOL CEdit::Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID)
{
CWnd* pWnd = this; // this 0x00422b14 {CEdit hWnd=0x00000001}
return pWnd->Create(_T("EDIT"), NULL, dwStyle, rect, pParentWnd, nID);
}我从DEBUG中看到 创建顺序是Create ONCREATE CreateTextBox,请问为什么不能在CreateTextBox创建呢,另外在CreateTextBox中创建的时候
m_CompanyInfoText.Create(WS_CHILD|WS_VISIBLE|ES_CENTER,CRect(0,0,rect.right-rect.left,rect.bottom-rect.top ),this, 10047);每一个值都正确
SetTimer(1,1000,NULL);void CMainFrame::OnTimer(UINT nIDEvent)
{
COLORREF colorbk(RGB(230,240,255));
CCompanyInfomationView* p=(CCompanyInfomationView*)(m_splitter.GetPane(0,0));
p->CreateTextBox(colorbk);
char aaaa[]="aaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbb";
p->SetText(aaaa);
p->SetTextColor(RGB(0,0,255));
KillTimer(1);
CFrameWnd::OnTimer(nIDEvent);
}