导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC++技术资源

有关动态创建Static的问题

vcperson 2009-09-01 10:39:29
public变量 m_ctlHead
m_ctlHead.Create("",WS_CHILD | WS_VISIBLE|SS_CENTER ,rect,this,1);//创建

m_ctlHead.SetWindowText(strHead);//设置内容


我的问题是:创建完后,想从其它类中更改此控制的内容,如何做?
...全文
45 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzizongheng 2009-09-01
SetWindowText....
回复
vcperson 2009-09-01
我想我问题没说清楚,是这样的
基于FormView的单文档程序,窗体分割成左(视图1)右(视图2)两部分,在视图2中初始时动态一个Static控件,现在想在视图1中通过按钮来改变这个控件的显示内容。楼上所说的方法均不可行。
1楼的方法,我就是这样写的,是不对的。
6楼的方法,我想你理解错了。
回复
WuXinyang 2009-09-01
LZ,你说的是Static控件,还是static变量?
回复
liuharris 2009-09-01

你的m_ctlHead 是定义为static的话,你直接可以在别的类中通过类名::m_ctlHead访问啊
比如 class CYourClass
{
public:
CYourClass (); -------------更正-----------------
virtual ~CYourClass (); --------------------------------

public:
static void youfunc();
static int m_ctlHead ;
}

在别的类.cpp中包含CYourClass.h并定义该全局变量
int CYourClass::m_ctlHead ;//初始化全局变量
在这个类直接CYourClass::m_ctlHead 就可以访问啦
回复
liuharris 2009-09-01
你的m_ctlHead 是定义为static的话,你直接可以在别的类中通过类名::m_ctlHead访问啊
比如 class CYourClass
{
public:
CMemoFormat();
virtual ~CMemoFormat();

public:
static void youfunc();
static int m_ctlHead ;
}

在别的类.cpp中包含CYourClass.h并定义该全局变量
int CYourClass::m_ctlHead ;//初始化全局变量
在这个类直接CYourClass::m_ctlHead 就可以访问啦
回复
bingo0717 2009-09-01
或者把m_ctlHead的指针传给其它类
回复
WuXinyang 2009-09-01
应该避免直接操作成员变量..
编程规范上说的.
回复
killbug2004 2009-09-01
public直接引用访问就可以
回复
WuXinyang 2009-09-01
你在当前类是设置一个接口
void MyClass::SetContext(LPCTSTR lpString)
{
m_ctlHead.SetWindowText(lpString);
}

之后你在其它类中调用这个接口函数就行了.
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……