动态创建Static,需要有一个生命周期足够长的静态控件指针变量,所以最好声明一个类的成员变量:
类的头文件.h添加成员变量:
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);
}
CStatic类的方法Create:
virtual BOOL Create(
LPCTSTR lpszText, //静态文本框内容
DWORD dwStyle, //静态控件风格,一般为WS_CHILD | WS_VISIBLE,表示作为对话框的子窗口并且可见
const RECT& rect, //静态文本框位置
CWnd* pParentWnd, //父窗口指针,可用this
UINT nID = 0xffff //控件ID,如上述实例中,直接设置ID为123即可
);
其中RECT类的参数列表:CRect(int l,int t,int r ,int b);
分别为左边框位置,上边框位置,右边框位置,下边框位置。