如何将一个自定义的Dialog类添加为基类?

假正经的班长 2011-10-07 01:23:49
是这样,我需要多个大小颜色绘制方法相同的子对话框,而且数量不定,所以不好一个一个地画,只能先写一个基类A,然后再创建对话框,用类向导增加类时选择基类A,避免重复工作,但是如何将A放在VS的类向导里呢?
...全文
279 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
假正经的班长 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xianglitian 的回复:]

引用 1 楼 jiuzhoulh 的回复:

加入这个类,然后修改新类的基类为这个类就可以了

这种方法可以
有错误就修正回来
[/Quote]

谢谢大家了,那我就手动修改好了
sxqinge 2011-10-07
  • 打赏
  • 举报
回复
在H文件里修改下继承类名
在CPP文件里把CDialog都改为你的那个基类CXX不就结了
向立天 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jiuzhoulh 的回复:]

加入这个类,然后修改新类的基类为这个类就可以了
[/Quote]
这种方法可以
有错误就修正回来
sxqinge 2011-10-07
  • 打赏
  • 举报
回复
以前试过好像不成功
我也是按一楼的方式,新类直接继承你说的这个基类的
假正经的班长 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jiuzhoulh 的回复:]

加入这个类,然后修改新类的基类为这个类就可以了
[/Quote]

普通的类可以,如果新建一个对话框类,直接修改基类的话(原来基类为CDialog)会出现一大堆问题,既然自定义的A类也是个跟CDialog类差不多的对话框类,应该可以作为基类加到MFC的类向导里吧
jiuzhoulh 2011-10-07
  • 打赏
  • 举报
回复
加入这个类,然后修改新类的基类为这个类就可以了
作者jaaksi,源码pickerview,一个非常好用的 Android PickerView 库,内部提供 3 种常用型的 Picker,支持扩展自定义 Picker:TimePicker:时间选择器,支持聚合模式的时间选择器(合并 v1.x 的 MixedTimePicker)OptionPicker:联动选择器效果图  APKDemo App下载连接PickerView READMEPicker通过组装 PickerView 实现常用的 Picker 选择器。上面已经列举提供的 3 中常用的 Picker。BasePickerPicker :封装了 TopBar,PickerView 容器,create and add PickerView 方法,Picker 弹窗等方法。 三种 Picker 都继承自 BasePicker,你也可以继承它扩展自己的 Picker。APIapidescriptionsetPickerBackgroundColor设置 picker 背景setPadding设置 PickerView 父容器 padding 单位:pxsetTag给 Picker 设置 tag,用于区分不同的 picker 等。用法同 View setTaggetRootLayout获取 PickerView 的父容器,创建 DefaultTopBar 时必须指定setOnPickerChooseListener设置 picker 取消,确定按钮监听。可用于拦截选中操作setTopBar设置自定义 TopBarsetInterceptor设置拦截器createPickerView创建 PickerViewgetPickerViews获取 Picker 中所有的 pickerview 集合addPicker将创建的 PickerView 添加到上面集合中,createPickerView 内部已调用该方法findPickerViewByTag通过 tag 找到对应的 PickerViewisScrolling是否滚动未停止。滚动未停止的时候,不响应 Picker 的取消,确定按键getPickerDialog获取 Picker 弹窗。可以在 new 之后设置 dialog 属性show显示 picker 弹窗对比 github 上最受欢迎的同库 Android-PickerView ,本库将 TopBar 等通用相关逻辑封装在中,并提供代码中创建 PickerView 方法,不需要再依赖 xml。用户自定义 Picker 时,继承 BasePicker,只需要处理自己的逻辑即可,简单便捷。 而对 Android-PickerView 来说,实现自定义 Picker,依然需要处理 TopBar 等逻辑,造成大量重复代码。TopBarTopBar:TopBar 通过抽象接口 ITopBar 来管理,实现 Picker 与 TopBar 的解耦。提供默认实现 DefaultTopBar。可实现接口定制自己的 TopBar。   public interface ITopBar {      /**       * @return topbar view       */      View getTopBarView();      /**       * @return 取消按钮 view       */      View getBtnCancel();      /**       * @return 确定按钮 view       */      View getBtnConfirm();      /**       * @return title view       */      TextView getTitleView();    }DefaultTopBar APIapidescriptionsetDividerColor设置 topbar bottom line colorsetDividerHeight设置 bottom divider line heightgetDivider获取 TopBar bottom linegetTitleView获取 TopBar title viewInterceptor拦截器:用于在 pickerview 创建时拦截,设置 pickerview 的属性。Picker 内部并不提供对 PickerView 的设置方法,而是通过 Interceptor 实现。这种设计用来实现 Picker 和 PickerView 的属性设置完美解耦。   private void init(){     mTimePicker.setInterceptor(new 

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧