“取消”对话框通常包含允许用户取消打印作业的单个按钮。从示例应用程序的资源(.RES)文件中取出了取消对话框的以下模板。
AbortDlg对话LOADONCALL MOVEABLE DISCARDABLE 33,32,160,70
CAPTION“样本打印应用程序”
STYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_VISIBLE |
WS_POPUP | WS_SYSMENU
BEGIN
控制“现在打印:”,IDD_TEXT,“静态”,
SS_CENTER | WS_CHILD, 0, 10, 160, 8
CONTROL “” IDD_FILE, “静态”
SS_CENTER | WS_CHILD, 0, 25, 160, 8
控制“取消”,IDD_CANCEL,“按钮”,
BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD,
60, 45, 45, 15
END
下面的代码示例显示了应用程序的对话框过程。
LRESULT CALLBACK AbortPrintJob(
HWND hwndDlg,/ *对话框的窗口句柄* /
UINT消息,/ *消息类型* /
WPARAM wParam,/ *消息特定信息* /
LPARAM lParam)/ *消息特定信息* /
{
switch(message){
case WM_INITDIALOG: /* message: initialize dialog box */
/ *初始化静态文本控件。*/
SetDlgItemText(hwndDlg, IDD_FILE, ofn.lpstrFile);
return TRUE;
case WM_COMMAND: /* message: received a command */
/ *用户按“取消”按钮 - 停止打印作业。*/
MessageBox(hwndDlg, "Incoming", "WM_COMMAND", MB_OK);
bPrint = FALSE;
return TRUE;
默认:
return FALSE; /* didn't process a message */
}
UNREFERENCED_PARAMETER(lParam);
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(message);
}