MFC中怎么在状态栏中加入静态文本控件和编辑框控件?

 我来答
匿名用户
2013-06-24
展开全部
动态创建头文件中声明:
CEdit* m_Edits;

cpp文件的OnInitDialog函数中:
m_Edits=new CEdit(50);

for(int i=0;i<50;i++)
{
m_Edits[i].Create(……);
}

程序执行结束时:
for(int i=0;i<50;i++)
{
delete []m_Edits;
}
不过这种情况只适合你所有的Edit控件在对话框上的位置都是按规律排列的。如果不是,请用下面的方法:

在头文件中声明足够多元素的CEdit数组:
CEdit m_Edit[50];//假设你事先放好了50个Edit控件

然后找到对话框的DoDataExchange(CDataExchange* pDX)函数,添加如下代码:
DDX_Control(pDX,IDC_XXX, m_Edit[0]);
DDX_Control(pDX,IDC_YYY, m_Edit[1]);
……………………
IDC_XXX和IDC_YYY是各个Edit的ID
像这样手动将所有编辑框添加完就行了,以后就可以用数组的方式访问他们了
匿名用户
2013-06-24
展开全部
静态的肯定是不行的,只能动态的去创建,首先获取状态栏的句柄,然后用他来创建一个控件,。然后设置他的位置就OK。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spacife
2012-01-17 · TA获得超过108个赞
知道小有建树答主
回答量:64
采纳率:0%
帮助的人:91.7万
展开全部
给一个静态文本控件添加一个变量,设置该变量的父窗口,如:
CStatic m_Test;m_Test.SetParent(&m_StatusBar);//参数是状态栏的指针或引用。
然后获取具体状态栏的区域位置,移动静态文本控件到该位置,如:
CRect Rect;
m_StatusBar.GetStatusBarCtrl().GetRect(3,Rect);//状态栏的第四个区域
Rect.DeflateRect(1,1,1,1);
m_Parent.MoveWindow(Rect);
类似的编辑框添加同上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式