200 lines
2.8 KiB
C++
200 lines
2.8 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (C) Microsoft Corporation, 1997 - 1998
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
asyncdlg.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Asynchronous Dialog header.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Kiraly (SteveKi) 10-Feb-1997
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _ASYNCDLG_HXX
|
||
|
#define _ASYNCDLG_HXX
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Forward reference.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TAsyncData;
|
||
|
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
TAsynchronous Dialog class.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TAsyncDlg : public MGenericDialog, public MRefQuick
|
||
|
{
|
||
|
SIGNATURE( 'asyc' )
|
||
|
ALWAYS_VALID
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TAsyncDlg(
|
||
|
IN HWND hwnd,
|
||
|
IN TAsyncData *pData,
|
||
|
IN UINT uResourceId
|
||
|
);
|
||
|
|
||
|
~TAsyncDlg(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bDoModal(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vSetTitle(
|
||
|
IN LPCTSTR pszTitle
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bIsActive(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Operator = and copy are not defined.
|
||
|
//
|
||
|
TAsyncDlg &
|
||
|
operator =(
|
||
|
const TAsyncDlg &
|
||
|
);
|
||
|
|
||
|
TAsyncDlg(
|
||
|
const TAsyncDlg &
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vRefZeroed(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bHandleMessage(
|
||
|
UINT uMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bHandle_InitDialog(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bHandle_Destroy(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bHandle_Command(
|
||
|
UINT uMsg,
|
||
|
WPARAM wParam,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
vTerminate(
|
||
|
IN WPARAM wParam
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
bStartAsyncThread(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
static
|
||
|
INT
|
||
|
iProc(
|
||
|
IN TAsyncDlg *pDlg
|
||
|
);
|
||
|
|
||
|
auto_ptr<TAsyncData> _pData;
|
||
|
HWND _hWnd;
|
||
|
UINT _uResourceId;
|
||
|
TString _strTitle;
|
||
|
BOOL _bActive;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
TAsynchronous data class.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TAsyncData
|
||
|
{
|
||
|
SIGNATURE( 'asyd' )
|
||
|
ALWAYS_VALID
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TAsyncData(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
~TAsyncData(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
bAsyncWork(
|
||
|
IN TAsyncDlg *pDlg
|
||
|
) = 0;
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
bHandleMessage(
|
||
|
IN TAsyncDlg *pDlg,
|
||
|
IN UINT uMsg,
|
||
|
IN WPARAM wParam,
|
||
|
IN LPARAM lParam
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
//
|
||
|
// Operator = and copy are not defined.
|
||
|
//
|
||
|
TAsyncData &
|
||
|
operator =(
|
||
|
const TAsyncData &
|
||
|
);
|
||
|
|
||
|
TAsyncData(
|
||
|
const TAsyncData &
|
||
|
);
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|