140 lines
3.6 KiB
C++
Executable File
140 lines
3.6 KiB
C++
Executable File
//
|
|
// ARCHWIN.CPP
|
|
//
|
|
// Source file for ArchiveLib 2.0
|
|
//
|
|
// Copyright (c) Greenleaf Software, Inc. 1994-1996
|
|
// All Rights Reserved
|
|
//
|
|
// CONTENTS
|
|
//
|
|
// ALArchive::FillListBox()
|
|
// ALArchiveFillListBox()
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// A single function that provides Windows UI support for ALArchive.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
|
|
#include "arclib.h"
|
|
#if !defined( AL_IBM )
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
//
|
|
// NAME
|
|
//
|
|
// ALArchive::FillListBox()
|
|
//
|
|
// PLATFORMS/ENVIRONMENTS
|
|
//
|
|
// PM
|
|
// C++ C
|
|
//
|
|
// SHORT DESCRIPTION
|
|
//
|
|
// Fill a Windows list box control with the file names from an archive.
|
|
//
|
|
// C++ SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
//
|
|
// int ALArchive::FillListBox( HWND hDlg,
|
|
// int list_box_id = -1 );
|
|
//
|
|
// C SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
//
|
|
// int ALArchiveFillListBox( hALArchive this_object,
|
|
// HWND hDlg,
|
|
// int list_box_id );
|
|
//
|
|
// VB SYNOPSIS
|
|
//
|
|
// Declare Function ALArchiveFillListBox Lib "AL20LW"
|
|
// (ByVal this_object&, ByVal hDlg%, ByVal list_box_id%) As Integer
|
|
//
|
|
// DELPHI SYNOPSIS
|
|
//
|
|
// function ALArchiveFillListBox( this_object : hALArchive;
|
|
// hDlg : HWnd;
|
|
// list_box_id : Integer ) : Integer;
|
|
//
|
|
// ARGUMENTS
|
|
//
|
|
// this_object : A reference or pointer to the ALArchive object that
|
|
// is going to fill this list box. Note that the C++ member
|
|
// fn version of this call doesn't have an explicit argument
|
|
// here, since it has access to 'this' implicitly.
|
|
//
|
|
// hDlg : This argument can represent one of two things.
|
|
// If the value of list_box_id is set to -1, it means that
|
|
// hWnd refers to an actual list box itself. If the value
|
|
// of list_box_id is not -1, it means that hWnd referes
|
|
// to a dialog box, and list_box_id refers the id of a
|
|
// list box control within that dialog box.
|
|
//
|
|
// list_box_d : See the description of hWnd for a full detail of what
|
|
// this argument does.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This is a quicky useful function to read the names of all the
|
|
// storage objects out of this, then stuffing them all into a list
|
|
// box.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// The count of objects in the archive, or an error status < 0.
|
|
//
|
|
// EXAMPLE
|
|
//
|
|
// SEE ALSO
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
//
|
|
|
|
int AL_PROTO
|
|
ALArchive::FillListBox( HWND hDlg, /* Tag public function */
|
|
int list_box_id /* = -1 */ )
|
|
{
|
|
ALEntryList list;
|
|
HWND window;
|
|
ReadDirectory( list );
|
|
if ( list_box_id != -1 )
|
|
window = GetDlgItem( hDlg, (short int) list_box_id );
|
|
else
|
|
window = hDlg;
|
|
int count;
|
|
if ( ( count = list.FillListBox( window ) ) == 0 ) {
|
|
if ( mStatus < 0 ) {
|
|
SendMessage( window, LB_RESETCONTENT, 0, 0 );
|
|
SendMessage( window,
|
|
LB_ADDSTRING,
|
|
0,
|
|
(LPARAM)( (LPSTR) "Error!" ) );
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
|
|
#if !defined( AL_NO_C )
|
|
|
|
extern "C" AL_LINKAGE int AL_FUNCTION
|
|
ALArchiveFillListBox( hALArchive this_object, /* Tag public function */
|
|
HWND hDlg,
|
|
int list_box_id )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALArchive, "ALArchiveFillListBox" );
|
|
return ((ALArchive *) this_object)->FillListBox( hDlg, list_box_id );
|
|
}
|
|
|
|
#endif
|
|
|