Visual C ++中顺序对话框的最佳实践是什么?

| 我有一个必须根据一些输入数据计算一些数字的应用程序。这些数据可以来自文件,也可以手动输入(只有5-6个值)。我想显示一个对话框,基本上询问“您要从文件中加载数据还是手动输入数据?”。如果选择“加载”,我想显示一个文件打开对话框,然后解析所选文件以提取相关数据。如果选择\“ manual \”,我想展示一个自定义的CDialog子类,用户可以在其中输入与从数据文件中提取的相同的数据。 我的主要问题是,将其组合在一起的最佳实践是什么? 我应该这样依次调用对话框吗?
// pseudocode
void foo(){
    status = MessageBox(\"Do you want to enter data from file?\");

    if (status == YES) {
        filename = CFileDialog();
        inputdata = processInputFile(filename);
    }
    else {
        CManualEntryDialog.doModal();
        inputdata = CManualEntryDialog.data;
    }

    // calculate output data from input data...
}
还是我应该将CDialog子类化并从子事件处理程序中调用CFileDialog&CManualEntryDialog?     
已邀请:
似乎您的用户中至少有相当一部分会理解所涉及的数字;他们不是“魔术师”。因此,有必要在加载后显示它们。您可以将其与手动输入选项很好地集成在一起。 使用6个输入字段设计一个对话框。添加一个\“ Load \”按钮来填充这些字段,但不要从那里继续。这使用户可以验证并可能修改这些值。 (当他需要输入文件中5个值中的4个时很有用)。 请勿在6个输入字段周围使用组框控件,并在外部使用“加载/确定/取消”按钮。这清楚地表明这三个按钮适用于整个组。 这种方法的UX优势是它更易于探索。您不必强迫用户选择如何与您的应用程序进行交互。而且由于这种复杂性,不太可能使目标受众不知所措。     
对于顺序对话框,我将建议使用CPropertyPage和CPropertySheet类的向导过程。 这是一个例子: http://www.dotnetheaven.com/Uploadfile/bulentozkir/pp_wizard04212005064904AM/pp_wizard.aspx http://www.informit.com/library/content.aspx?b=Visual_C_PlusPlus&seqNum=79     

要回复问题请先登录注册