WEB开发网
开发学院软件开发VC 动态创建控件支持事件响应并可保存与读取 阅读

动态创建控件支持事件响应并可保存与读取

 2010-08-22 20:47:30 来源:WEB开发网   
核心提示:在这个类中,用了三个自定义的控件类成员变量,动态创建控件支持事件响应并可保存与读取(2),分别用来存放动态生成的三种不同类型的控件,如果你还想把它保存起来,并能随时读取出来的话,还要加上共公信息中的那些成员变量

在这个类中,用了三个自定义的控件类成员变量,分别用来存放动态生成的三种不同类型的控件。如果你还想把它保存起来,并能随时读取出来的话,还要加上共公信息中的那些成员变量。另外程序中加入了下面这些常量:

#define  IDB_MYCONTROL  0x9000  //自定义按钮的句柄(ID)
#define  NUM_CONTROL  128 //数目 
//保存配置文件用
const CString APPINFO="appInfo";
const CString CONTROL="Control";
const CString SETTING="Setting";
#define  MYBUTTON  1 
#define  MYEDIT  2 
#define  MYLABEL  3 
程序里设计了一个_globalData 类,使用它的 globalData 对象可以访问里面的全局数据。////////////////
//全局数据
////////////////
class _globalData
{
public:
  CString appPath;//程序路径
  CString appAllPath;//保存文件全路径
  bool isDraw;//是否可以拖拽控件
//控件信息
  //vector <_myControl> myControl;//考虑使用vector也是可以的
  _myControl* myControl[NUM_CONTROL];//这里使用数量受到了限制
  int count;//已经建立的控件总数
  _globalData()
  {
    isDraw=false;
    //初始控件
    for (int i=1;i<=NUM_CONTROL-1;i++) {
      globalData.myControl[i]=new _myControl;
    }
    count=0;
//取得当前路径
    char temp[255]= _T("");//保存当前路径的变量
    GetModuleFileName(NULL,appPath.GetBufferSetLength(sizeof(temp)),sizeof(temp));//取得程序所在的全目录名
    int nPos=appPath.ReverseFind(''); //取得除去文件名字符数后的总长度
    appPath=appPath.Left(nPos+1); //截取得到的文件路径长度 最终得到程序所在路径
    appPath.ReleaseBuffer();
    appAllPath=appPath+"myControl.ini";
  }
}extern globalData;

上一页  1 2 3 4 5  下一页

Tags:动态 创建 控件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接