`
rollstone
  • 浏览: 38855 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对话框工厂

 
阅读更多
1.对于工厂我的理解:
良好的封装性。使用和创建,初始化分开。
创建和初始化的工作交给工厂类,这样,不必在使用的地方完成大量复杂的初始化工作。
http://hi.baidu.com/wuweihi/blog/item/456a723f7bdd01c77c1e7156.html
http://blog.csai.cn/user1/25929/archives/2009/35622.html
openoffice中的对话框工厂。
对话框工厂:
F:\DEV300-hg\sd\inc\sdabstdlg.hxx
先定义好类
class AbstractAnimationDlg : public VclAbstractDialog
{
public:
//virtual void Apply(TabPage* pPage) = 0;
virtual const SfxItemSet* GetOutputItemSet() const =0;
};

1.在工厂类SdAbstractDialogFactory里定义一个纯虚函数,例如:
virtual AbstractAnimationDlg* CreateAnimationDlg( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView )=0;

SdAbstractDialogFactory::create()创建一个工厂对象。(怎么实现的?有纯虚的类能不能有实例?????)
=====================================================================
class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory实现了虚基类。
============================================================================================================
SdAbstractDialogFactory_Impl实现了AbstractAnimationDlg
class AbstractAnimationDlg_Impl: public AbstractAnimationDlg
{
DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)//定义一个构造函数和虚构函数。构造函数的参数为:::sd::AnimationDlg *p,并初始化了其对象成员pDlg
//virtual void Apply( TabPage* pPage );
virtual const SfxItemSet* GetOutputItemSet() const;
};


DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)
展开:
::sd::AnimationDlg *pDlg;
public:
AbstractAnimationDlg_Impl(::sd::AnimationDlg *p):pDlg(p)
{
}
virtual ~Class();

[0] = 0x117b3f80 SdAbstractDialogFactory_Impl::CreateBreakDlg(Window *, sd::DrawView *, sd::DrawDocShell *, unsigned long, unsigned long)
分享到:
评论

相关推荐

    Android高级应用源码-基本的对话框.zip

    尽管没有具体的标签描述,但我们可以从"Dialogfactory"这个文件名推测,它可能是一个实现了对话框工厂模式的类,旨在方便地创建和管理各种类型的对话框。 在Android中,基本的对话框类型包括:AlertDialog、...

    对话框应注意.txt

    `JOptionPane`类提供了静态工厂方法来创建不同类型的对话框,如消息对话框、确认对话框、输入对话框和选项对话框等。这些对话框通常用于显示信息、获取用户输入或提示用户进行选择等操作。 #### 三、对话框类型及其...

    Android基本的对话框源码

    总的来说,学习和理解Android的基本对话框源码,不仅可以帮助开发者掌握如何在应用中使用对话框,还可以进一步理解面向对象设计原则和设计模式,尤其是工厂模式在实际开发中的应用,这对于提升Android开发技能至关...

    多个子对话框之间相互调用问题

    6. **设计模式**:设计模式如工厂模式或单例模式可以帮助管理和控制对话框的生命周期,确保正确创建和销毁,防止资源泄漏。 7. **对话框链**:有时,多个对话框会形成一个序列,用户需要按照一定的顺序依次通过它们...

    c#等待对话框

    可以采用工厂模式或单例模式来创建和管理等待对话框,确保在程序的多个地方都能方便地使用。 9. **代码实践**: 文件“WindowsWaitDialog”可能包含一个自定义的`WaitDialog`类,实现了上述功能。这个类可能包括...

    SWT的一些技术文章

    JFace是基于SWT的一个更高层次的API,它提供了更多抽象和便利的功能,如数据绑定、视图模型、对话框工厂等,可以简化SWT的使用,减少代码量。 11. **Eclipse IDE中的应用**: SWT是Eclipse IDE的基础,许多...

    两对话框实现数据交换

    6. **使用设计模式**:例如工厂模式、中介者模式等,可以更好地组织代码结构,提高可维护性和可扩展性。 在具体实现过程中,我们需要关注以下几个关键点: - **数据封装**:确定需要交换的数据类型,并将其封装成...

    原生js Dialog对话框插件制作19种对话框弹出层拖动

    可以创建一个工厂函数,根据传入的参数(对话框类型)返回相应配置的对话框实例。 7. **可扩展性**: 为了使插件更易于维护和扩展,可以采用模块化的设计。例如,将对话框的创建、拖动处理、显示隐藏等逻辑封装成...

    ATL 封装MFC对话框

    ATL工程会包含必要的COM基础设施,如导出接口、类工厂等。然后,你需要引入MFC库,这可以通过在ATL工程的属性设置中添加MFC支持来实现。确保在预处理器定义中包含 `_AFXDLL` 和 `ATL_NO_LEAK_DETECT`,以便使用MFC...

    安卓Dialog对话框相关-基本的对话框.rar

    在Android开发中,Dialog对话框是一种非常常见的组件,它用于在主界面之上显示临时的通知或获取用户的简单输入。本资源“安卓Dialog对话框相关-基本的对话框.rar”似乎包含了一些关于如何创建和使用基本Dialog的基本...

    zDialog关闭所有弹出的对话框

    5. **设计模式**:在大型项目中,可以使用工厂模式来创建对话框,统一管理对话框的创建和关闭,使得代码更加整洁且易于维护。 6. **状态管理**:为了跟踪哪些对话框正在显示,你可以维护一个全局的状态机或者使用...

    商业编程-源码-对话框源代码 ChildDialogInADialog_src.zip

    8. **设计模式**:在嵌套对话框的设计中,可能会使用到如工厂模式(用于创建对话框实例)、观察者模式(用于子对话框状态的更新通知)等设计模式。 通过对这个源码的学习和分析,开发者可以深入理解如何在C++ MFC...

    DialogFragment对话框

    DialogFragment对话框是Android开发中的一个关键组件,它在应用程序中用于显示临时的、轻量级的用户交互界面。在Android 3.0(API级别11)引入,DialogFragment结合了Fragment的功能与Dialog的功能,使得在处理...

    Android代码-基本的对话框.rar

    文件名中的 "Dialogfactory" 暗示了这个例子可能包含一个工厂模式的实现,用于创建不同类型的对话框。工厂模式是一种设计模式,它提供了一种创建对象的最佳方式。在Android中,可以创建一个 `DialogFactory` 类,...

    AnyLayer,Android对话框弹出窗口.zip

    - 创建对话框:然后,通过调用预定义的工厂方法或者自定义构造函数来创建对话框实例。 - 定制内容:开发者可以提供自定义的XML布局文件作为对话框的内容视图,也可以使用已有的UI组件进行组合。 - 显示和关闭:...

    AlertDialog常用对话框

    `AlertDialog`提供了一个工厂模式的接口`AlertDialog.Factory`,可以通过实现该接口创建自定义的对话框。这在需要大量创建相似对话框时很有用。 ```java // 实现Factory接口 class MyDialogFactory implements ...

    Spring Rich Client-开源

    Spring Rich Client还提供了丰富的用户界面组件和工具,例如表单构建器、对话框工厂、菜单和工具栏管理等,这些工具可以帮助开发者快速创建和定制用户界面。同时,该框架支持数据绑定,使得UI控件可以直接与后台数据...

    STO工厂间转储[汇编].pdf

    工厂级供应商不参与配置,需在采购组织视图中执行菜单“附加→附加采购数据”,在弹出的对话框中指定发货工厂,此项设置就将供应商与工厂进行了关联绑定,一个工厂最多只能绑定一个供应商,而多个供应商不能绑定相同...

    检索com类工厂中组件注册失败的解决方法

    - 在弹出的对话框中切换到“安全性”选项卡。 - 点击“编辑”按钮进入权限编辑界面。 - 添加“Everyone”用户组,并赋予“完全控制”权限。 4. **确认启动权限**: - 同样在“安全性”选项卡中,切换到“启动和...

Global site tag (gtag.js) - Google Analytics