【MFC笔记】动态创建静态文字CStatic和动态创建编辑框Cedit
1、新建工程,选择MFC对话框,在主窗口中添加按钮,按一下按钮跳出一个静态文字。
2、给按钮添加事件,先定义两个变量。事件内容内添加如下内容
void CMFCApplication2Dlg::OnBnClickedButton1()//按键按下响应的消息
{
// TODO: 在此添加控件通知处理程序代码
CRect tabRect; // 标签控件客户区的位置和大小
this->GetClientRect(&tabRect);//获取目前窗口的大小
if (tabRect.right < x)x = 0;//xy表示窗口左上角的点,如果超出范围就重新从左或上开始
if (tabRect.bottom < y)y = 0;
CStatic *pEdit;//定义一个静态文本框实例
CRect rct(x, y, x+150, y+50);//文本框大小
pEdit = new CStatic();//动态创建申请内存
pEdit->Create(L"动态对话框", WS_CHILD | WS_VISIBLE, rct, this,8888 );//动态创建
pEdit->ShowWindow(SW_SHOW);//显示在屏幕上
x += 200; y += 100;//改变下次显示的位置
}
3、在此基础上修改为显示可编辑对话框
void CMFCApplication2Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CRect tabRect; //
this->GetClientRect(&tabRect);
if (tabRect.right < x)x = 0;
if (tabRect.bottom < y)y = 0;
CEdit *pEdit;//CStatic 改为了CEdit
CRect rct(x, y, x+150, y+50);
pEdit = new CEdit();//CStatic 改为了CEdit
pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, rct, this, 8888);//参数改了一下
pEdit->ShowWindow(SW_SHOW);
x += 200; y += 100;
}