弹出式对话框是系统与用户最直接的对话形式,通过提示文字的形式对当前状态进行判断后,提示给用户。
对话框函数结构体
ProError ProUIMessageDialogDisplay(
ProUIMessageTypetype //信息显示类型
wchar_t *title //标题
wchar_t *msg_txt //显示的主信息
ProUIMessageButton *buttons //按钮类别
ProUIMessageButton def_button //预选中的按钮
ProUIMessageButton *user_choice //保存用户按下的按钮信息
)
关键参数说明
其中参数ProUIMessageType type为当前需要表达的信息的类型枚举,定义为:
typedef enum
{
PROUIMESSAGE_ERROR = 0, //错误类型
PROUIMESSAGE_WARNING= 1, //警告类型
PROUIMESSAGE_INFO = 2, //通知类型
PROUIMESSAGE_QUESTION=3 //问题类型
} ProUIMessageType;
参数ProUIMessageButton* buttons表达当前显示的按钮类型的枚举,定义为:
typedef enum
{
PROUIMESSAGE_ABORT = (1<< 0),//终止
PROUIMESSAGE_RETRY = (1<< 1),//重试
PROUIMESSAGE_IGNORE = (1<< 2),//忽略
PROUIMESSAGE_CONFIRM = (1<< 3),//确认
PROUIMESSAGE_YES = (1<< 4),//是
PROUIMESSAGE_NO = (1 << 5),//否
PROUIMESSAGE_OK = (1<< 6),//确定
PROUIMESSAGE_CANCEL = (1<< 7)//取消
} ProUIButton;
示例代码演示
示例代码:
ProUIMessageButton *buttons;//定义可以显示的按钮数组
ProUIMessageButton feedbackBtn;//返回用户点击的按钮
ProArrayAlloc(8,sizeof(ProUIMessageButton),1,(ProArray*)&buttons);//分配数组
buttons[0] = PRO_UI_MESSAGE_OK;
buttons[1] = PRO_UI_MESSAGE_CANCEL;
buttons[2] = PRO_UI_MESSAGE_ABORT;
buttons[3] = PRO_UI_MESSAGE_RETRY;
buttons[4] = PRO_UI_MESSAGE_IGNORE;
buttons[5] = PRO_UI_MESSAGE_CONFIRM;
buttons[6] = PRO_UI_MESSAGE_YES;
buttons[7] = PRO_UI_MESSAGE_NO;//可以显示的按钮 ProUIMessageDialogDisplay(PROUIMESSAGE_INFO,L"对话框",L"对话框提示文字",buttons,PRO_UI_MESSAGE_OK,&feedbackBtn);//按钮显示
if (feedbackBtn == PRO_UI_MESSAGE_OK)//如果OK按钮被点击
{AfxMessageBox(_T("PRO_UI_MESSAGE_OK"));//执行活动}
ProArrayFree((ProArray*)&buttons);//释放数组
程序执行效果图如下