
也可以用GetDlgItem函数来通过编辑框控件的ID取得编辑框对象的CWnd指针,通过指针调用SetWindowText函数来设置文本。
还可以直接用SetDlgItemText函数来设置文本。
在你程序要显示的那个类里面添加变量CEdit *pedit在要显示的按钮里pedit = new CEdit()CRect rect
rect.bottom=80
rect.left=50
rect.right=200
rect.top=50
pedit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,rect, this, 1)
在交换数据的按钮了char a[100]
pedit->GetWindowText(a,pedit->GetWindowTextLength()+1)//取文本
CString m
m.Format("%s",a)
pedit->SetWindowText("17987898")//输出文本
MessageBox(m)参数你可以自己调,那个风格的ID我没找到,这个是网上的例子带的参数。你自己在找找rect是修改显示区域的如果你需要数值,请自己类型转换吧。 还有就是 其实不一定要动态创建,可以提前做好隐藏了,需要的时候显示,这样简单多了GetDlgItem(编辑框ID)->ShowWindows(SW_SHOW)//显示 隐藏式SW_HIDE
用代码加啦 .........以对话框为例 Dlg类添加成员变量
class CMfcdlg2014Dlg : public CDialog
{
// Construction
public:
CEdit *pEditArray[300] //添加成员变量, CEdit* 指针数组
对话框OnInitDialog添加代码
SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, MAKELPARAM(0,0))
CRect rt
GetClientRect(&rt)
int i
CString s
for(i=0i<300i++)
{
pEditArray[i] = new CEdit
pEditArray[i]->Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(rt.Width()/10*(i%10), rt.Height()/30*(i/10), rt.Width()/10*(i%10)+rt.Width()/10-5, rt.Height()/30*(i/10)+rt.Height()/30-5), this, i+2000)
s.Format("第%d个,%d行%d列", i+1, i/10+1, i%10+1)
pEditArray[i]->SetWindowText(s)
pEditArray[i]->ShowWindow(SW_SHOW)
}
添加WM_CLOSE消息响应函数,添加代码
for(i=0i<300i++)
{
delete pEditArray[i]//释放内存
}
效果图 添加 30x10 工300个
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)