MFC 动态添加静态文本框

提妲 2013-05-10 04:40:12
在下MFC菜鸟一枚,请教各位大神们如何动态创建一个静态文本框。
自己写的程序为:
//创建一个静态文本框
CStatic myStatic;
myStatic.Create(_T("静态文本框"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),IDD_PRATICE_ONE_DIALOG);
提示出错了。。。
...全文
883 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
西班牙饼干 2014-04-24
  • 打赏
  • 举报
回复
为什么必须new一个才行呢?不是声明了就有对象了?
Ellessa 2014-03-21
  • 打赏
  • 举报
回复
请问一下,这几种方法我都试过了,为什么运行的时候没有任何反应呢?
提妲 2013-05-13
  • 打赏
  • 举报
回复
谢谢各位的热心帮助,不胜感激!!
hust_wangyajun 2013-05-10
  • 打赏
  • 举报
回复
动态创建Static,需要有一个生命周期足够长的静态控件指针变量,所以最好声明一个类的成员变量: 类的头文件.h里面添加: public: CStatic *m_pStatic; 类的执行文件.cpp 对话框构造函数中对其进行初始化: m_pStatic = NULL; 创建静态控件的函数里: if(m_pStatic && m_pStatic->IsWindowVisible()) { return; } else { m_pStatic = new CStatic; m_pStatic->Create(_T("动态创建的静态文本"),WS_CHILD|WS_VISIBLE,CRect(0,0,200,200),this,123); }
提妲 2013-05-10
  • 打赏
  • 举报
回复
Error 1 error C2143: syntax error : missing ';' before '->' f:\c\pratice_one\pratice_one\pratice_onedlg.cpp 233 1 pratice_one Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int f:\c\pratice_one\pratice_one\pratice_onedlg.cpp 233 1 pratice_one Error 3 error C2040: 'myStatic' : 'int' differs in levels of indirection from 'CStatic *' f:\c\pratice_one\pratice_one\pratice_onedlg.cpp 233 1 pratice_one 运行之后出现了上面几个错误,实在不明白啊
liuli7786 2013-05-10
  • 打赏
  • 举报
回复
CStatic *myStatic = new CStatic; myStatic->Create(_T("静态文本框"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),this);
dahaiI0 2013-05-10
  • 打赏
  • 举报
回复

CStatic myStatic;

// Create a child static control that centers its text horizontally.
myStatic.Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER, 
   CRect(10,10,150,50), pParentWnd);   
MSDN上的例子

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧