MFC Tab Control 中小弟我在主页点击修改按钮,怎么更改标签页的lListcontrol 为啥一直是异常 afwin2.inl line
MFC Tab Control 中我在主页点击修改按钮,如何更改标签页的lListcontrol 为啥一直是错误 afwin2.inl line:
如题 ,这是我在主页调用标签页的函数代码
求助下大神 ,还是说在主页不能操作标签页
------解决方案--------------------
C_ADList关联的窗口存在?
------解决方案--------------------
C_ADList是否有效
------解决方案--------------------
C_ADList有问题!
------解决方案--------------------
什么叫“主页调用标签页”
------解决方案--------------------
“就是在tabcontrol那页 加了个控制钮”
就是说 ID 为 0 的 item 控制 其它 ID 的 item ?
------解决方案--------------------
要 从 TabCtrl 的 item0 , 取 TabCtrl 的 包含 listctrl 的 Item (如 5)
再从 这个 Item (5) ,取 listctrl 的 指针, 再 取 。。。
------解决方案--------------------
我给你一个例子:
如果tabctl第5项只有一个edit控件,那么这样插入edit:
主对话框//
CMtEdit m_Edit;// 多行edit
对话框初始化时:
// tab has a ctrl
TabCtrlItem.pszText="Ctrl";
m_Tab.InsertItem(5, &TabCtrlItem);//第5项
CRect rectDefault;
rectDefault.SetRect(200,40,300,280);//no WS_VISIBLE
// 注意m_Edit是主对话框的成员
if (!m_Edit.Create(WS_CHILD
------解决方案--------------------
WS_DLGFRAME
------解决方案--------------------
WS_VSCROLL
------解决方案--------------------
ES_WANTRETURN
------解决方案--------------------
ES_MULTILINE
------解决方案--------------------
ES_AUTOVSCROLL,rectDefault,&m_Tab,IDC_TAB5EDIT))
{
TRACE0("Failed to create edit control\n");
return -1; // fail to create
}
m_Edit.SetWindowText("hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd");
// 这样 只要 m_Edit 存在 ,tab的任何页,可以通过getparent得到对话框,
// 从对话框可以得到m_Edit
如题 ,这是我在主页调用标签页的函数代码
BOOL Ar_Boot::CheckView()
{
C_ADList.SetRedraw(FALSE); //这里开始就会出现 afxwin line: 140
C_ADList.DeleteAllItems();
for(int i=Column;i<(Row+1)*Column;i+=Column)
{
CString ID;
ID=dbR[i];
CString AdName;
AdName=dbR[i+2];
CString DateTime;
DateTime=dbR[i+6];
CString AdType;
AdType = L"开机广告";
C_ADList.InsertItem(i,L"");
C_ADList.SetItemText(i,1,ID);
C_ADList.SetItemText(i,2,AdName);
C_ADList.SetItemText(i,3,DateTime);
C_ADList.SetItemText(i,4,AdType);
}
C_ADList.SetRedraw(TRUE);
C_ADList.Invalidate();
C_ADList.UpdateWindow();
return 1;
}
求助下大神 ,还是说在主页不能操作标签页
------解决方案--------------------
C_ADList关联的窗口存在?
------解决方案--------------------
C_ADList是否有效
------解决方案--------------------
C_ADList有问题!
------解决方案--------------------
什么叫“主页调用标签页”
------解决方案--------------------
“就是在tabcontrol那页 加了个控制钮”
就是说 ID 为 0 的 item 控制 其它 ID 的 item ?
------解决方案--------------------
要 从 TabCtrl 的 item0 , 取 TabCtrl 的 包含 listctrl 的 Item (如 5)
再从 这个 Item (5) ,取 listctrl 的 指针, 再 取 。。。
------解决方案--------------------
我给你一个例子:
如果tabctl第5项只有一个edit控件,那么这样插入edit:
主对话框//
CMtEdit m_Edit;// 多行edit
对话框初始化时:
// tab has a ctrl
TabCtrlItem.pszText="Ctrl";
m_Tab.InsertItem(5, &TabCtrlItem);//第5项
CRect rectDefault;
rectDefault.SetRect(200,40,300,280);//no WS_VISIBLE
// 注意m_Edit是主对话框的成员
if (!m_Edit.Create(WS_CHILD
------解决方案--------------------
WS_DLGFRAME
------解决方案--------------------
WS_VSCROLL
------解决方案--------------------
ES_WANTRETURN
------解决方案--------------------
ES_MULTILINE
------解决方案--------------------
ES_AUTOVSCROLL,rectDefault,&m_Tab,IDC_TAB5EDIT))
{
TRACE0("Failed to create edit control\n");
return -1; // fail to create
}
m_Edit.SetWindowText("hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd"
"hahah\r\nchchch\r\ngegege\tdtdtd");
// 这样 只要 m_Edit 存在 ,tab的任何页,可以通过getparent得到对话框,
// 从对话框可以得到m_Edit