| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:请教高手类和对象的问题!
只看楼主 加入收藏
BlueMouse
Rank: 1
来 自:贵州
等 级:新手上路
威 望:1
帖 子:52
专家分:0
注 册:2008-9-6
收藏
 问题点数:0 回复次数:0 
请教高手类和对象的问题!
我最近在包装一个WINDOWS应用框架,现在发现有很大的问题!

比如我包装一个BUTTON类,这个类实际是以按钮的形式体现的,也就是说,我必须在CreateWindow成功以后才能让 BUTTON 类成功创建,那现在就出了问题了!

我必须在 BUTTON 类的构造函数中调用 CreateWindow 来创建其实体形式!但是有实因为各种原因 CreateWindow 不能成功创建,这时我怎么让 BUTTON 类创建不成功呢? 我确实找不到方法解决!请求高手教教我!

还有一个问题就是,我的这个类都是对应控件的,也就是说,有些成员函数就是一个收到通知的事件,
例如:

class BUTTON
{
  public:
  void onClick(void);
};

现在如果按钮收到一个BN_CLICKED 通知就调用 BUTTON 的成员函数 onClick 问题就出在这里了!
BUTTON 是一个类,他们每一个实例其 onClick 成员应该不会是同一个函数,这样不就是很没有意思了!
现在我有一种解决方案!如下:

class BUTTON
{
  public:
  virtual void onClick(void);
};

现在更不行了,第当使用类的用户要创建一个按都就必须从 BUTTON 类派生出一个子类来
这样可以实现事件函数的直正意思,却还是满足不了每个类他是一个类,而它的所有对象的事件接口的不同!
像下面这样,每做一个按钮就派生一个类,多不合理呀,而且每个类只能有一个实例,因为每个类的事件接口是同一个!
很苦恼呀! 像下面这样!
class MyButton:public BUTTON
{
    public:
    void onClick(void);
};

所以我想MFC也是因为没有办法解决这个问题所以才用消息映射的方法来解决吧!
就是把接口都定义成指针,类对象刚创建里这些针针都指向默认的成员函数,
如果有需要用到的接口,就做一个消息映射表,表分成两项,一项是对象的指针,
另一项是指向自己自己写的接口函数,
当有通知事件时就可以通过对象的指针找出其对应的接口!可是我感觉这样好你很不舒服不知道是哪里的原因,

所以我想问下高手有什么好方法解决这类问题?
搜索更多相关主题的帖子: 对象 
2008-09-20 09:27
快速回复:请教高手类和对象的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015870 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved