-
Notifications
You must be signed in to change notification settings - Fork 0
/
CWaitDlgDll.h
145 lines (129 loc) · 5.4 KB
/
CWaitDlgDll.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//*////////////////////////////////////////////////////////////////////////////////////
//
// 版权:Coypright(c)2005-2006,深圳华域科技有限公司
// All rights reserved
// 描述:等待提示框封装(windows)
// 文件:CWaitDlgDll.h
//
// 当前版本:1.00
// 作者: 廖双平
// 完成日期:2007/08/26
// 修改说明:无
//
// 注意:1、等待对话框的状态显示变更必须在消息处理函数之外。
// 1、在MFC消息处理函数里面,调用ShowWaitTipWindow之后应该马上退出MFC消息处理函数,
// 因为ShowWaitTipWindow要用到消息栈,造成消息堵塞情况。
// 2、在MFC消息处理函数里面启动的线程则没有关系,可以任意调用。
//
//
////////////////////////////////////////////////////////////////////////////////////*/
/////////////////////////////////////// 调用关系 /////////////////////////////////////
// +----------------------+
// |InitWaitDlg -------->|
// |SetProgressStep ----->|
// |SetWaitDlgPos ------>|
// |SetWaitDlgText------->| (调用之前或之后必须启动关闭线程进程)
// |SetWaitDlgBkColor---->|----> ShowWaitTipWindow() ------------> ShowWaitTipWindow(FALSE)
// |SetWaitDlgTextColor-->|
// +----------------------+
///////////////////////////////////////////////////////////////////////////////////////
//#include "CWaitDlgDll.h"
#ifndef CWaitDlgDll_h
#define CWaitDlgDll_h
//#include "export.h"
/*******************************************************************************
*函数名称: InitWaitDlg
*功能描述: 初始化对话框的方式
*输 入:
* bNeedProgressCtrl: 是否需要进度条
* ProgressRange:进度条的范围
* yRate:设置垂直方向上的高度比例(0-1), 默认值为0.375
* xRate:设置水平方向上的横向比例(0-1), 默认值为0.5,即中间
* cBkRgb:背景色
* cTextColor:字体颜色
*输 出: 无
*返 回: 无
*注 意: 必须要在对话框启动之前调用,启动之后再调用无效,如果都为默认值,可以就不调用
********************************************************************************/
void __stdcall InitWaitDlg(
BOOL bNeedProgressCtrl = FALSE,
int ProgressRange = 128,
float fYRate = 0.375,
float fXRate = 0.5,
COLORREF cBkRgb = RGB(240,240,240),
COLORREF cTextColor = RGB(0,0,0)
);
/*******************************************************************************
*函数名称: SetProgressStep
*功能描述: 设置进度条显示的位置。
*输 入: step:进度条的步进
*输 出: 无
*返 回: 无
*注 意: 无
********************************************************************************/
void __stdcall SetProgressStep(int step);
/*******************************************************************************
*函数名称: SetWaitDlgPos
*功能描述: 设置等待对话框相对于父对话框的位置。
*输 入: yRate:设置垂直方向上的高度比例(0-1), 默认值为0.375
* xRate:设置水平方向上的横向比例(0-1), 默认值为0.5,即中间
*输 出: 无
*返 回: 无
*注 意: 必须要在对话框启动之前调用,启动之后再调用无效
********************************************************************************/
void __stdcall SetWaitDlgPos(float yRate = 0.375, float xRate = 0.5);
/*******************************************************************************
*函数名称: SetWaitDlgBkColor
*功能描述: 设置等待对话框的背景颜色。
*输 入: rgb: 要输入的颜色(red,green, blue)默认是灰色。
*输 出: 无
*返 回: 无
********************************************************************************/
void __stdcall SetWaitDlgBkColor(COLORREF rgb);
/*******************************************************************************
*函数名称: SetWaitDlgBkImage
*功能描述: 设置等待对话框的背景图片。
*输 入: lpBitmap: 图片。
*输 出: 无
*返 回: 无
********************************************************************************/
void __stdcall SetWaitDlgBkImage(CBitmap *lpBitmap);
/*******************************************************************************
*函数名称: SetWaitDlgTextColor
*功能描述: 设置对话框文字颜色
*输 入: rgb: 要输入的颜色(red,green, blue)默认是黑色。
*输 出: 无
*返 回: 无
********************************************************************************/
void __stdcall SetWaitDlgTextColor(COLORREF rgb);
/*******************************************************************************
*函数名称: SetWaitDlgText
*功能描述: 设置提示语句
*输 入: tip: 要在等待对话框上面显示的文字。(默认是“Please wait...”)
*输 出: 无
*返 回: 无
********************************************************************************/
void __stdcall SetWaitDlgText(const wchar_t *tip);
/*******************************************************************************
*函数名称: SetWaitDlgRect
*功能描述: 设置对话框的区域
*输 入:
*输 出: 无
*返 回: 无
********************************************************************************/
void __stdcall SetWaitDlgRect(int left, int top, int right, int bottom);
/*******************************************************************************
*函数名称: ShowWaitTipWindow
*功能描述: 像是或隐蒇等待对话框
*输 入: hMainWnd: 主界面的句柄。如果为NULL, 则为桌面
show: true,显示等待对话框; false,隐蒇等待对话框。
*输 出: 无
*返 回: 无
*注 意: 1.像是和隐蒇的操作不能在同一个线程或进程运行。
2.ShowWaitTipWindow(TRUE)必须要在消息处理线程内。
3.ShowWaitTipWindow(TRUE)是阻塞的,所以不能在同一线程内调用
ShowWaitTipWindow(TRUE)后再调用ShowWaitTipWindow(FLALSE),那
样永远也不会退出。
********************************************************************************/
void __stdcall ShowWaitTipWindow(HWND hMainWnd = NULL, bool show = true);
#endif