MFC中如何将按钮控件CButton放在编辑框控件CEdit内

有时候我们需要在CEdit控件中放置一个CButton控件,使其内嵌在CEdit控件中,如下图所示。本文介绍了在MFC程序开发中实现该效果的方法,编程环境为VS2008。

图1 CEdit控件中内嵌CButton控件

首先新建一个对话框,然后在上面放置一个CEdit控件与一个CButton控件,其ID分别为IDC_EDIT与IDC_BUTTON。然后使用组合键Ctrl + D调整Tab键顺序,使CButton控件的编号小于CEdit控件,如下图所示。

图2 Tab键顺序

调整CButton控件的位置,使其位于CEdit控件之下,可以看到CEdit控件将CButton控件遮挡住了,如下图所示。

图3 CEdit控件遮挡CButton控件

将CButton控件调整到合适的位置之后,为对话框关联一个类,并在该类的OnInitDialog函数中添加以下代码。

GetDlgItem(IDC_EDIT)->ModifyStyle(0, WS_CLIPSIBLINGS);
((CEdit*)GetDlgItem(IDC_EDIT))->SetMargins(0, 24);

其中,第一句代码为CEdit控件设置WS_CLIPSIBLINGS属性,防止对CEdit控件进行绘制时遮盖CButton控件。第二句代码则是调整CEdit控件的文字显示区域,防止CButton控件遮盖CEdit控件中的文字。

完成以上步骤后启动程序就可以看到图1所示的效果了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值