mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.9 KiB
121 lines
3.9 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
|
//
|
|
// File: message.cxx
|
|
//
|
|
// Contents: Helper functions for popup message boxes.
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions: MessageBoxFromSringIds
|
|
//
|
|
// History: 6-24-94 stevebl Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include <windows.h>
|
|
#include "message.h"
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: MessageBoxFromStringIds
|
|
//
|
|
// Synopsis: Displays a simple message box taking its text from a string
|
|
// table instead of from user allocated strings.
|
|
//
|
|
// Arguments: [hwndOwner] - window handle for the message box's owner
|
|
// [hinst] - instance associated with the string table
|
|
// [idText] - string id for the box's text string
|
|
// [idTitle] - string id for the box's title string
|
|
// [fuStyle] - style of message box
|
|
// (see Windows function MessageBox for styles)
|
|
//
|
|
// Returns: result from MessageBox
|
|
//
|
|
// History: 6-24-94 stevebl Created
|
|
//
|
|
// Notes: Each string is limited to MAX_STRING_LENGTH characters.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
int MessageBoxFromStringIds(
|
|
const HWND hwndOwner,
|
|
const HINSTANCE hinst,
|
|
const UINT idText,
|
|
const UINT idTitle,
|
|
const UINT fuStyle)
|
|
{
|
|
int iReturn = 0;
|
|
TCHAR szTitle[MAX_STRING_LENGTH];
|
|
TCHAR szText[MAX_STRING_LENGTH];
|
|
if (LoadString(hinst, idTitle, szTitle, MAX_STRING_LENGTH))
|
|
{
|
|
if (LoadString(hinst, idText, szText, MAX_STRING_LENGTH))
|
|
{
|
|
iReturn = MessageBox(
|
|
hwndOwner,
|
|
szText,
|
|
szTitle,
|
|
fuStyle);
|
|
}
|
|
}
|
|
return(iReturn);
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: MessageBoxFromStringIdsAndArgs
|
|
//
|
|
// Synopsis: Creates a message box from a pair of string IDs similar
|
|
// to MessageBoxFromStringIds. The principle difference
|
|
// is that idFormat is an ID for a string which is a printf
|
|
// format string suitable for passing to wsprintf.
|
|
// The variable argument list is combined with the format
|
|
// string to create the text of the message box.
|
|
//
|
|
// Arguments: [hwndOwner] - window handle for the message box's owner
|
|
// [hinst] - instance associated with the string table
|
|
// [idFormat] - string id for the format of the box's text
|
|
// [idTitle] - string id for the box's title string
|
|
// [fuStyle] - style of the dialog box
|
|
// [...] - argument list for text format string
|
|
//
|
|
// Returns: result from MessageBox
|
|
//
|
|
// History: 6-24-94 stevebl Created
|
|
//
|
|
// Notes: Neither the composed text string nor the title must be
|
|
// longer than MAX_STRING_LENGTH characters.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
int MessageBoxFromStringIdsAndArgs(
|
|
const HWND hwndOwner,
|
|
const HINSTANCE hinst,
|
|
const UINT idFormat,
|
|
const UINT idTitle,
|
|
const UINT fuStyle, ...)
|
|
{
|
|
int iReturn = 0;
|
|
va_list arglist;
|
|
va_start(arglist, fuStyle);
|
|
TCHAR szTitle[MAX_STRING_LENGTH];
|
|
TCHAR szText[MAX_STRING_LENGTH];
|
|
TCHAR szFormat[MAX_STRING_LENGTH];
|
|
if (LoadString(hinst, idTitle, szTitle, MAX_STRING_LENGTH))
|
|
{
|
|
if (LoadString(hinst, idFormat, szFormat, MAX_STRING_LENGTH))
|
|
{
|
|
wvsprintf(szText, szFormat, arglist);
|
|
iReturn = MessageBox(
|
|
hwndOwner,
|
|
szText,
|
|
szTitle,
|
|
fuStyle);
|
|
}
|
|
}
|
|
return(iReturn);
|
|
}
|
|
|