从CEdit派生一个新类,只接受阿拉伯数字、小数点和退格键的 方法

1)在“类视图”中,右键点击第一行(即项目名称那一行),选择“添加···”,选择添加类

2)在类向导中选择基类为 CEdit,并给自己的新类命名

3)确定后,新类的名字出现在“类视图”空间里面。同时,新类的头文件和cpp文件也被创建

4)左键点击 类视图 里面新类的条目,然后在它的“属性”栏里面选择消息,找到 WM_CHAR,给它添加OnChar()函数

5)给这个函数添加如下内容:

void CEditEx1::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	if(!::isdigit(nChar) && '.' != nChar && 8 != nChar)
		return;

	CEdit::OnChar(nChar, nRepCnt, nFlags);
}

6)进入资源视图区,把工具箱里的 Edit Control 控件拖到你想要的对话框里面,然后右键点击控件,给它添加一个CEdit变量

7)这个变量的增加会改变相应类的头文件和cpp文件。我们只关心头文件。在头文件的类声明里面,把控件变量的类型从 CEdit 变为 新的类型名即可。


参考文献:

http://blog.csdn.net/daiyutage/article/details/8573735

http://blog.csdn.net/zgl7903/article/details/7058454

在 CEdit 类中,可以使用 Create 方法来创建一个编辑控件。该方法通常接受两个参数,一个是窗口类的 ID,另一个是窗口位置和大小的信息。下面是一个简单的示例代码: ```cpp // 创建编辑控件 CEdit edit; edit.Create(NULL, CRect(0, 0, 200, 100)); ``` 在上述代码中,我们创建了一个 CEdit 类的对象,并使用 Create 方法创建了一个位于屏幕坐标 (0, 0) 的编辑控件,大小为 200x100 像素。 接下来,我们可以设置编辑控件的边框样式和工具项。边框样式可以通过 SetBkColor 方法设置背景颜色来实现,工具项可以通过添加按钮、文本框等控件来实现。以下是一个示例代码: ```cpp // 设置边框样式和工具项 edit.SetBkColor(RGB(255, 255, 255)); // 设置背景颜色为白色 edit.CreateMenu(); // 创建菜单 edit.AddMenuItem("Cut", Edit_Cut); // 添加菜单项,对应的快捷Edit+X edit.AddMenuItem("Copy", Edit_Copy); // 添加菜单项,对应的快捷Edit+C // 其他菜单项和操作... ``` 在上述代码中,我们首先设置了编辑控件的背景颜色为白色。然后创建了一个菜单,并将菜单项添加到编辑控件中。通过 AddMenuItem 方法,我们添加了剪切、复制等操作按钮,并指定了对应的快捷。您可以根据需要添加其他工具项和操作。 最后,关于拖拽生成一致的问题,您可能是在谈论编辑控件的拖放功能。CEdit 类提供了支持拖放的功能,您可以使用 SetWindowPos 方法将编辑控件放置在窗口中的任何位置。以下是一个示例代码: ```cpp // 将编辑控件拖放到窗口中的指定位置 CRect rect(10, 10, 200, 200); // 目标位置 edit.SetWindowPos(&rect, SWP_NOZORDER); // 将编辑控件放置在目标位置上 ``` 在上述代码中,我们定义了一个目标位置 rect,然后使用 SetWindowPos 方法将编辑控件放置在该位置上。通过指定 SWP_NOZORDER 标志,我们可以确保编辑控件不会与其他窗口重叠。 希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值