visual studio 2005 中怎样将控件与变量关联

 我来答
暴击的幸运
2011-02-08 · TA获得超过266个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:186万
展开全部
左键选中该控件,右键菜单 添加变量 然后选择类型和名字就行了
amote258
2011-02-09 · TA获得超过1965个赞
知道小有建树答主
回答量:1101
采纳率:0%
帮助的人:948万
展开全部
以Edit Control控件为例子说明
Edit Control控件支持多种类型的变量
如:控件类型的 CEdit , 值类型的 CString ,int ,long 等等
其中CEdit类型 可直接控制 Edit的属性
而值类型的变量可控制 Edit 的内容。

class Ctemp3Dlg : public CDialog//这里是一个对话框的头文件
{
// 构造
public:
Ctemp3Dlg(CWnd* pParent = NULL); // 标准构造函数

// 对话框数据
enum { IDD = IDD_TEMP3_DIALOG };

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

// 实现
protected:
HICON m_hIcon;

// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CEdit m_edit1CEditCEdit;//这是cedit类型
public:
CString m_edit2CString;;//这是cstringt类型

public:
int m_edit3int;;//这是int类型

};
/////////////////////////////下面是cpp文件的部分内容

Ctemp3Dlg::Ctemp3Dlg(CWnd* pParent /*=NULL*/)
: CDialog(Ctemp3Dlg::IDD, pParent)
, m_edit2CString(_T(""))//这里初始化,也可以不写
, m_edit3int(0)//这里初始化,也可以不写

{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
//初始化也可以写在这里。
}

void Ctemp3Dlg::DoDataExchange(CDataExchange* pDX)//注意这个函数
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_edit1CEditCEdit);//定义变量时候系统自己添
DDX_Text(pDX, IDC_EDIT2, m_edit2CString);//加的,你也可以自己
DDX_Text(pDX, IDC_EDIT3, m_edit3int);//自己手动添加。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nqildp
2011-02-09 · TA获得超过1419个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:962万
展开全部
1、串通过操作符“+”连接以后不能赋值给char [60]类型的变量,但是可以赋值给string类型变量,如:
string mc = "A" + "BCD";
2、方法CWnd::MessageBoxW()接收的第一个参数类型不匹配,允许进行强制转换,比如:
MessageBox((LPCTSTR)mc);

针对问题补充:
1、如果使用类型string,那么需要
#include <string>
才能识别。
2、如果使用类型CString,那么等号右边的所有连接参数都必须为CString或char *类型的。m_Ecode应该不是这两种类型之一吧?其实可以将指令
mc="Data for Employee code: "+m_Ecode+" Employee name:"+m_Fname+" "+m_Lname+" is accepted.";
换成
mc.Format("Data for Employee code: %d Employee name: %s %s is accepted.", m_Ecode, m_Fname, m_Lname);
前提是m_Ecode为int类型,m_Fname和m_Lname为char *或CString类型。
3、同样,如果mc如下定义:
char mc[60];
也可以这样为之赋值:
sprintf(mc, "Data for Employee code: %d Employee name: %s %s is accepted.", m_Ecode, m_Fname, m_Lname);
效果与第2点相同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式