怎样调用一个类里控件的方法?

pylove2005 2005-04-23 08:55:34
我想做的是:
有一个CDialog类CA1,里面有一个CListCtrl。还有一个增加按钮。
当点增加按钮的时候,调用另一个对话框,类是(CA2),然后在对话框里添加一些信息。点确定之后,再把这些信息传回CA1,然后显示在ListCtrl里。可是为什么我每次点增加之后,就报错误。

源码:
CA1增加按钮的事件。
CB1* b = new CB1();
b->Create(IDD_B,this);
b->ShowWindow(SW_SHOW);

CB1里有一个CDateTimeCtrl m_DateTime;
在CB1的构造函数里代码如下:
m_DateTime.SetFormat("yy-MM-dd hh:mm:ss");
CTime time;
time.GetCurrentTime();
m_DateTime.SetTime(&time);
刚运行到第一句就报错了。这是为什么啊?
...全文
85 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjkiller 2005-04-23
  • 打赏
  • 举报
回复
当然不行,你要把CA1的指针传递给CB1
pylove2005 2005-04-23
  • 打赏
  • 举报
回复
Add这个方法是CA1的,在CB1里如果使用,可以直接使用吗?
菜牛 2005-04-23
  • 打赏
  • 举报
回复
这个Add()应该做成CA1的成员函数。
void CA1::Add(CString strTime)
{
int iCount = m_list.GetItemCount();
...
}

在按钮事件中直接调用:
Add(..);
pylove2005 2005-04-23
  • 打赏
  • 举报
回复
如何获得当前CA的对话框对象啊?不用new吗?
oyljerry 2005-04-23
  • 打赏
  • 举报
回复
CB1点确定的事件
应该获得当前CA的对话框对象,然后用Add,你new的,不知到哪里去了
pylove2005 2005-04-23
  • 打赏
  • 举报
回复
CB1点确定的事件
CA1* ca = new CA1();
ca->Add(strTime);

CA1的方法
Add(CString strTime)
{
int iCount = m_list.GetItemCount();
.....




只要一执行到这一句,就报错。这又是为什么呀?
pylove2005 2005-04-23
  • 打赏
  • 举报
回复
可是点确定之后,再调用CA1的一个方法,想把这个时间加入到ListCtrl里。又报错了。
CA1的方法
pylove2005 2005-04-23
  • 打赏
  • 举报
回复
谢谢你。解决了。
vcmute 2005-04-23
  • 打赏
  • 举报
回复
别在构造的时候SetFormat当时还没初始化窗口,放到OnInitDialog中去

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧