"cannot add new member"解决方法

本文介绍了解决Visual C++开发环境下控件消息映射失败的问题,通过删除并重建*.clw文件以及手动添加消息映射代码两种方式,帮助开发者有效解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在添加控件的时候弹出这样的问题,在网上找了一下相关的解决方法,最常见的莫过于:1.:如果出现这种情况,我们可以先把工程给关闭,然后删除 *.clw文件,然后再打开工程,并按CTRL+W打开ClassWizard,这里我们输入先前删除的文件的文件名,然后点确定,便可重新生成一次*.clw文件。(注意:这里的*代码你的工程,如:我的工程叫Test,那么我们就应该删除Test.clw文件),这里如果顺序的进行ClassWizard页面的话,那么上面的问题上就解决了。

我尝试了上面的方法,依然没有解决问题,没办法,只能在程序中自己手动添加代码了,具体方法如下:

1,在BEGIN_MESSAGE_MAP()下加入 ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
前者为控件ID后者为函数名;
2,在同文件的类的
protected:
 // Generated message map functions
 //{{AFX_MSG(CSelecteDlg)
下面添加:
afx_msg void OnButton1();
3,在源文件中加入:
void 类::OnButton1()
 ...
 

// 会员注册 public static Member registerMember(String name, String phone, Date birthday) { Member member = new Member(name, phone, birthday); member.setId(Member.generateId(sequence++)); members.put(member.getId(), member); saveMembers(); return member; } // 加载会员 private static void loadMembers() { Properties props = new Properties(); File file = new File(MEMBER_FILE); if (!file.exists()) { return; } try (InputStream input = new FileInputStream(file)) { props.load(input); for (String key : props.stringPropertyNames()) { String value = props.getProperty(key); String[] parts = value.split(","); if (parts.length >= 5) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date utilDate = sdf.parse(parts[2]); // 将 java.util.Date 转换为 java.sql.Date java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); Member member = new Member(parts[0], parts[1], sqlDate); member.setId(key); member.addPoints(Integer.parseInt(parts[3])); member.setLevel(MemberLevel.valueOf(parts[4])); members.put(key, member); } } } catch (IOException | java.text.ParseException e) { System.out.println("会员数据加载失败: " + e.getMessage()); } } // 保存会员 private static void saveMembers() { Properties props = new Properties(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (Map.Entry<String, Member> entry : members.entrySet()) { Member member = entry.getValue(); String value = String.format("%s,%s,%s,%d,%s", member.getName(), member.getPhone(), sdf.format(member.getBirthday()), member.getPoints(), member.getLevel().name()); props.setProperty(entry.getKey(), value); } try (OutputStream output = new FileOutputStream(MEMBER_FILE)) { props.store(output, "Members Data"); } catch (IOException e) { System.out.println("会员数据保存失败: " + e.getMessage()); } } 添加新会员生日的日期格式错误: class java.util.Date cannot be cast to class java.sql.Date (java.util.Date is in module java.base of loader ‘bootstrap’; java.sql.Date is in module java.sql of loader ‘platform’)怎么解决
最新发布
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值