为什么运行到subclasswindow会出错?

chenhongyan 2003-05-31 05:52:42
CPasswordEdit m_Password;//CPasswordEdit 是一个继承于CEdit的类

m_Password.SubclassWindow(GetDlgItem(IDC_EDIT1)->m_hWnd);//在对话框的OnInitDialog()函数忠
...全文
176 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiniaoliang 2003-06-01
  • 打赏
  • 举报
回复
你可以用SubclassDlgItem()这个函数试一下!!

m_Password.SubclassDlgItem(IDC_EDIT1, this);
chenhongyan 2003-06-01
  • 打赏
  • 举报
回复
什么叫做关联了控制变量?我没有呀!我觉得也很奇怪
ukyoking 2003-06-01
  • 打赏
  • 举报
回复
晕倒,没见过你这么使用subclass的,建议你先搞清楚subclass的作用,现把解决方法告诉你

把你用向导添加的
CPasswordEdit m_Password;
CSuperEdit m_Edit2;
CStatic m_Static;

这三个关联变量通通删掉,记住用向导来删,然后手动为该对话框类添加这三个变量,最好为protected级别的,其他代码保持原来的,保证没有问题
chenhongyan 2003-06-01
  • 打赏
  • 举报
回复
up
mtsh 2003-06-01
  • 打赏
  • 举报
回复
syw2002@bit.edu.cn,发来吧!最好5:30以前
chenhongyan 2003-06-01
  • 打赏
  • 举报
回复
up
chenhongyan 2003-06-01
  • 打赏
  • 举报
回复
不可以呀!再说我觉得不应该删除m_Password.SubclassWindow(GetDlgItem(IDC_EDIT1)->m_hWnd);因为这一句是子类化,要不你留下信箱,我发给你,你帮我看看!
mtsh 2003-06-01
  • 打赏
  • 举报
回复
BOOL CGetPasswordDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//m_Password.SubclassWindow(GetDlgItem(IDC_EDIT1)->m_hWnd);//因为上一语句(即CDialog::OnInitDialog();),所以该语句应删掉!如果非要保留的话,必须把上一个语句注释掉,再加上UpdateData(FALSE);
m_Password.SetPasswordChar('#');
m_Password.SetWindowText("12345");
......
}
chenhongyan 2003-06-01
  • 打赏
  • 举报
回复
谢谢这么多星星关注:)
///////////////////////////////////////////////

//GetPasswordDlg.h
// Dialog Data
//{{AFX_DATA(CGetPasswordDlg)
enum { IDD = IDD_GETPASSWORD_DIALOG };
CPasswordEdit m_Password;///*******
CStatic m_Static;
CSuperEdit m_Edit2;
//}}AFX_DATA


//GetPasswordDlg.cpp
BOOL CGetPasswordDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_Password.SubclassWindow(GetDlgItem(IDC_EDIT1)->m_hWnd);//****
m_Password.SetPasswordChar('#');
m_Password.SetWindowText("12345");
......
}
ukyoking 2003-06-01
  • 打赏
  • 举报
回复
就是用向导为该文本框添加了一个CEdit类型的变量,要不把你的代码贴出来
ukyoking 2003-05-31
  • 打赏
  • 举报
回复
你是不是为该文本框关联了一个控制变量,有的话去掉就好了
chenhongyan 2003-05-31
  • 打赏
  • 举报
回复
up
江水2018 2003-05-31
  • 打赏
  • 举报
回复
OnInitDialog()函数里面不是重载了父类的此函数了吗??
你可以在父类这个函数前面和后面分别实施一下式式.

16,548

社区成员

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

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

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