ReactOS
0.4.17-dev-863-gc5f151a
CProgressDlg.hpp
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Disk Cleanup
3
* LICENSE: MIT (https://spdx.org/licenses/MIT)
4
* PURPOSE: Progress dialog implementation
5
* COPYRIGHT: Copyright 2023-2025 Mark Jansen <mark.jansen@reactos.org>
6
*/
7
8
#pragma once
9
10
class
CProgressDlg
11
{
12
CComPtr<IProgressDialog>
m_spProgress
;
13
DWORD
m_dwTotal
= 0;
14
public
:
15
16
~CProgressDlg
()
17
{
18
Stop
();
19
}
20
21
22
void
Start
(
DWORD
dwTotalSteps,
LPCWSTR
Title
,
LPCWSTR
Text
)
23
{
24
HRESULT
hr
=
CoCreateInstance
(CLSID_ProgressDialog,
NULL
, CLSCTX_INPROC,
IID_PPV_ARG
(IProgressDialog, &
m_spProgress
));
25
if
(
FAILED_UNEXPECTEDLY
(
hr
))
26
return
;
27
28
m_dwTotal
= dwTotalSteps;
29
30
m_spProgress
->SetTitle(
Title
);
31
m_spProgress
->SetLine(2,
Text
,
TRUE
,
NULL
);
32
m_spProgress
->StartProgressDialog(
NULL
,
NULL
,
PROGDLG_NOMINIMIZE
,
NULL
);
33
m_spProgress
->SetProgress(0,
m_dwTotal
);
34
}
35
36
void
Step
(
DWORD
dwProgress,
LPCWSTR
Text
)
37
{
38
m_spProgress
->SetProgress(dwProgress,
m_dwTotal
);
39
m_spProgress
->SetLine(1,
Text
,
TRUE
,
NULL
);
40
}
41
42
void
Stop
()
43
{
44
if
(
m_spProgress
)
45
{
46
m_spProgress
->StopProgressDialog();
47
m_spProgress
.Release();
48
}
49
}
50
};
IID_PPV_ARG
#define IID_PPV_ARG(Itype, ppType)
Definition:
CSnapinCacheEntry.cpp:13
CProgressDlg
Definition:
CProgressDlg.hpp:11
CProgressDlg::Stop
void Stop()
Definition:
CProgressDlg.hpp:42
CProgressDlg::m_spProgress
CComPtr< IProgressDialog > m_spProgress
Definition:
CProgressDlg.hpp:12
CProgressDlg::Step
void Step(DWORD dwProgress, LPCWSTR Text)
Definition:
CProgressDlg.hpp:36
CProgressDlg::~CProgressDlg
~CProgressDlg()
Definition:
CProgressDlg.hpp:16
CProgressDlg::Start
void Start(DWORD dwTotalSteps, LPCWSTR Title, LPCWSTR Text)
Definition:
CProgressDlg.hpp:22
CProgressDlg::m_dwTotal
DWORD m_dwTotal
Definition:
CProgressDlg.hpp:13
Text
char * Text
Definition:
combotst.c:136
hr
HRESULT hr
Definition:
delayimp.cpp:582
Title
static CHAR Title[MAX_PATH]
Definition:
dem.c:257
NULL
#define NULL
Definition:
types.h:112
TRUE
#define TRUE
Definition:
types.h:120
CoCreateInstance
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
Definition:
combase.c:1685
FAILED_UNEXPECTEDLY
#define FAILED_UNEXPECTEDLY
Definition:
utils.cpp:33
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
HRESULT
Definition:
metahost.idl:58
PROGDLG_NOMINIMIZE
#define PROGDLG_NOMINIMIZE
Definition:
shlobj.h:984
LPCWSTR
const uint16_t * LPCWSTR
Definition:
typedefs.h:57
base
applications
cleanmgr
cleanmgr
CProgressDlg.hpp
Generated on Sun Sep 20 2026 06:02:48 for ReactOS by
1.9.6