714dd74636
git-svn-id: svn://10.65.10.50/trunk@5350 c028cbd2-c16b-5b4b-a496-9718f37d4682
144 lines
3.3 KiB
C++
Executable File
144 lines
3.3 KiB
C++
Executable File
//
|
|
// CXL_EDIT.CPP
|
|
//
|
|
// Source file for ArchiveLib 2.0
|
|
//
|
|
// Copyright (c) Greenleaf Software, Inc. 1994-1996
|
|
// All Rights Reserved
|
|
//
|
|
// CONTENTS
|
|
//
|
|
// EditDisplay()
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// C and VB programmers cant use the iostreams operators, so this
|
|
// function is used to give them the same capabilities.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 21, 1994 1.0A : First release
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
//
|
|
|
|
#include "arclib.h"
|
|
#if !defined( AL_IBM )
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
|
|
//
|
|
// NAME
|
|
//
|
|
// EditDisplay()
|
|
//
|
|
// PLATFORMS/ENVIRONMENTS
|
|
//
|
|
// Windows
|
|
// C++ C
|
|
//
|
|
// SHORT DESCRIPTION
|
|
//
|
|
// printf() to an edit/text control.
|
|
//
|
|
// C++ SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
// #include "winutil.h"
|
|
//
|
|
// extern "C" void EditDisplay( HWND hDlg,
|
|
// int control_id,
|
|
// char *fmt,
|
|
// ... );
|
|
//
|
|
// C SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
// #include "winutil.h"
|
|
//
|
|
// void EditDisplay( HWND hDlg,
|
|
// int control_id,
|
|
// char *fmt,
|
|
// ... );
|
|
//
|
|
// VB SYNOPSIS
|
|
//
|
|
// None, this function just isn't going to work with Vb.
|
|
//
|
|
// DELPHI SYNOPSIS
|
|
//
|
|
// None, not a good fit for Delphi.
|
|
//
|
|
// ARGUMENTS
|
|
//
|
|
// hDlg : This argument is a window handle. If the next parameter,
|
|
// control_id, is set to -1, it means this is the handle of
|
|
// the window that will have some new text written to it.
|
|
// If control_id is some other value, it means this is the
|
|
// handle of a dialog box, and control_id refers to an edit
|
|
// control within the dialog box. That edit control is the
|
|
// destination for the text output.
|
|
//
|
|
// control_id : The id of the multiline edit control in a dialog box. If
|
|
// set to -1, it means the edit control is not in a dialog box,
|
|
// and the hDlg parameter is the handle of the edit control.
|
|
//
|
|
// fmt : The format parameter to be used in wsprintf.
|
|
//
|
|
// ... : Any additional arguments that are going to be used by
|
|
// vsprintf().
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This little function lets you use a printf() style command to print
|
|
// data to a multiline edit control. The internal buffer is only 128
|
|
// bytes, so please be careful.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// EXAMPLE
|
|
//
|
|
// SEE ALSO
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
//
|
|
|
|
extern "C" AL_LINKAGE void AL_CFUNCTION
|
|
EditDisplay( HWND hDlg, /* Tag public function */
|
|
int id,
|
|
char AL_DLL_FAR *fmt,
|
|
... )
|
|
{
|
|
char buffer[ 128 ];
|
|
HWND window;
|
|
va_list args;
|
|
|
|
va_start( args, fmt );
|
|
//
|
|
// Watcom does this differently than everyone else. It isn't really
|
|
// part of the ANSI spec, so we can't complain.
|
|
//
|
|
#if !defined( AL_WATCOM )
|
|
wvsprintf( buffer, fmt, args );
|
|
#else
|
|
wvsprintf( buffer, fmt, *args );
|
|
#endif
|
|
va_end( args );
|
|
if ( id == -1 )
|
|
window = hDlg;
|
|
else
|
|
window = GetDlgItem( hDlg, (short int) id );
|
|
SendMessage( window,
|
|
EM_REPLACESEL,
|
|
0,
|
|
(LPARAM) ( (LPSTR) buffer ) );
|
|
}
|
|
|