使用vc6.0生成一个简单的对话框程序,将其中的static文本控件的文字重新显示
直接在Dlg.cpp文件中添加下面程序:m_Static.SetWindowText("使用函数显示静态文本控件的显示文本");
编译不通过
error C2501: 'm_Static' : missing storage-class or type specifiers
但将
m_Static.SetWindowText("使用函数显示静态文本控件的显示文本");
放在OnInitDialog()函数体中,编译通过
怎么回事?
在Dlg.cpp文件中直接添加m_Static.SetWindowText("使用函数显示静态文本控件的显示文本");是在全局作用域中执行的,但m_Static变量是在类作用域内定义的,所以在全局作用域中使用时,编译器无法识别它的存储类型。
而将代码放在OnInitDialog()函数体中,因为函数内定义的变量都在函数的作用域内,所以编译器可以识别m_Static的存储类型,并能正确编译通过。
在静态文本控件中调用函数的问题包括无法从静态方法访问控件[1]、动态调用函数和事件时出错[2],并且允许使用过程/功能代码[3].静态文本控件可用于显示描述性文本,如标题或说明,但它不与控件关联[4][5].