关于测试工程提示信息功能的说明
该功能的实现完全依赖于CPPToolTip类,该类可以在 http://www.codeproject.com/
上下载到。具体说明见该网站的介绍。
本程序所需要的功能是点击工具栏的“属性”按钮之后,屏幕右下角弹出测试工程的详细属性。在屏幕任何地方单击鼠标左键之后,信息提示框消失。
因此,本程序没有直接按照codeproject上的介绍那样使用CPPToolTip类,而是当点击“属性”按钮之后,调用ShowHelpTooltip函数。
在ShowHelpTooltip函数的重载版本void ShowHelpTooltip (LPPOINT pt, LPCTSTR lpszString, HICON hIcon = NULL)中,lpszString支持HTML文本,因此可以利用HTML控制显示信息的格式。
弹出的信息提示框如下图所示。
源代码如下:
/**/
///
/MainFrm.h中定义
public
:
CPPToolTipm_toolTip;
//
显示测试属性的提示框
/**/
///
/MainFrm.cpp中
int
CMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct)
...
{
……
m_toolTip.Create(
this
);
//
Addstooltipfortoolbar
m_toolTip.AddToolBar(
&
m_ProperBar);
……
}
//
显示测试工程的属性
void
CEMCView::OnEditProper()
...
{
//
TODO:在此添加命令处理程序代码
if
(m_bIsWorking
&&
!
m_bOldVersion)
...
{
CEMCDoc
*
pDoc
=
GetDocument();
CMainFrame
*
pmfrm
=
(CMainFrame
*
)AfxGetMainWnd();
pmfrm
->
m_toolTip.SetDirection(PPTOOLTIP_BOTTOMEDGE_CENTER);
pmfrm
->
m_toolTip.AddTool(
this
,L
"
测试文件属性
"
);
//
pmfrm->m_toolTip.SetColorBk(RGB(0,0,255),RGB(192,192,192));
CPointpt;
CRectrc;
GetClientRect(
&
rc);
ClientToScreen(
&
rc);
pt.x
=
rc.right;
pt.y
=
rc.bottom;
//
pt为客户区窗口右下角对应的点
//
利用HTML控制提示框的显示格式
//
显示测试工程属性
CStringinfo
=
L
""
;
CStringstr
=
L
"
<center><h2><fontface="黑体"color=red>测试工程属性</font></h2><br><hrcolor=blue></center><br>
"
;
info
+=
str;
str.Format(L
"
<fontsize=14>测试类型:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_TestCon
==
CE102)
...
{
str.Format(L
"
<spanclass=cpp-comment>CE102测试</span>
"
);
}
else
if
(pDoc
->
m_pTestPrj
->
m_TestCon
==
RE102)
...
{
str.Format(L
"
<spanclass=cpp-comment>RE102测试</span>
"
);
}
info
+=
str;
str.Format(L
"
<fontsize=14>测试设备:</font>
"
);
info
+=
str;
switch
(pDoc
->
m_pTestPrj
->
m_TestEquip)
...
{
case
TEST_EQUIP_NONE:
str.Format(L
"
<spanclass=cpp-comment>无</span><br>
"
);
break
;
case
CUR_PROBE:
str.Format(L
"
<spanclass=cpp-comment>电流探头</span><br>
"
);
break
;
case
ET_G:
str.Format(L
"
<spanclass=cpp-comment>ET-G</span><br>
"
);
break
;
case
ET_Q:
str.Format(L
"
<spanclass=cpp-comment>ET-Q</span><br>
"
);
break
;
case
HT_1:
str.Format(L
"
<spanclass=cpp-comment>HT-1</span><br>
"
);
break
;
case
HT_6:
str.Format(L
"
<spanclass=cpp-comment>HT-6</span><br>
"
);
break
;
case
LISN:
str.Format(L
"
<spanclass=cpp-comment>LISN</span><br>
"
);
break
;
case
EZ_17:
str.Format(L
"
<spanclass=cpp-comment>EZ-17</span><br>
"
);
break
;
}
info
+=
str;
str.Format(L
"
<fontsize=14>起始频率:</font>
"
);
info
+=
str;
str.Format(L
"
<spanclass=cpp-comment>%5.2fMHz</span>
"
,pDoc
->
m_pTestPrj
->
m_StartFreq);
info
+=
str;
str.Format(L
"
<fontsize=14>终止频率:</font>
"
);
info
+=
str;
str.Format(L
"
<spanclass=cpp-comment>%5.2fMHz</span><br>
"
,pDoc
->
m_pTestPrj
->
m_StopFreq);
info
+=
str;
str.Format(L
"
<fontsize=14>EUT电压:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_TestCon
==
RE102)
str.Format(L
"
<spanclass=cpp-comment>N/A</span>
"
);
else
str.Format(L
"
<spanclass=cpp-comment>%5.2fV</span>
"
,pDoc
->
m_pTestPrj
->
m_EUTVolt);
info
+=
str;
str.Format(L
"
<fontsize=14>待测设备:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_EUTName
!=
L
""
)
str.Format(L
"
<spanclass=cpp-comment>%s</span><br>
"
,pDoc
->
m_pTestPrj
->
m_EUTName);
else
str.Format(L
"
<spanclass=cpp-comment>N/A</span><br>
"
);
info
+=
str;
str.Format(L
"
<fontsize=14>测试模式:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_TestCon
==
RE102)
str.Format(L
"
<spanclass=cpp-comment>N/A</span>
"
);
else
...
{
switch
(pDoc
->
m_pTestPrj
->
m_TestMode)
...
{
case
TEST_MODE_NONE:
str.Format(L
"
<spanclass=cpp-comment>无</span>
"
);
break
;
case
DIFFER:
str.Format(L
"
<spanclass=cpp-comment>差模</span>
"
);
break
;
case
COMMON:
str.Format(L
"
<spanclass=cpp-comment>共模</span>
"
);
break
;
}
}
info
+=
str;
str.Format(L
"
<fontsize=14>测试距离:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_TestCon
==
CE102)
str.Format(L
"
<spanclass=cpp-comment>N/A</span><br>
"
);
else
str.Format(L
"
<spanclass=cpp-comment>%5.2fm</span><br>
"
,pDoc
->
m_pTestPrj
->
m_TestDist);
info
+=
str;
//
显示频谱仪设置
str.Format(L
"
<br><center><h2><fontface="黑体"color=red>频谱仪设置</font></h2><br><hrcolor=blue></center><br>
"
);
info
+=
str;
str.Format(L
"
<fontsize=14>RBW:</font>
"
);
info
+=
str;
if
(pDoc
->
m_pTestPrj
->
m_TestBand
==
9
)
str.Format(L
"
<spanclass=cpp-comment>9KHz</span>
"
);
else
if
(pDoc
->
m_pTestPrj
->
m_TestBand
==
120
)
str.Format(L
"
<spanclass=cpp-comment>120KHz</span>
"
);
else
str.Format(L
"
<spanclass=cpp-comment>AUTO</span>
"
);
info
+=
str;
str.Format(L
"
<fontsize=14>显示模式:</font>
"
);
info
+=
str;
switch
(pDoc
->
m_pTestPrj
->
m_DispPattern)
...
{
case
SAMPLE:
str.Format(L
"
<spanclass=cpp-comment>SAMPLE</span><br>
"
);
break
;
case
MIN_HOLD:
str.Format(L
"
<spanclass=cpp-comment>MIN.HOLD</span><br>
"
);
break
;
case
MAX_HOLD:
str.Format(L
"
<spanclass=cpp-comment>MAX.HOLD</span><br>
"
);
break
;
}
info
+=
str;
str.Format(L
"
<fontsize=14>内部衰减:</font>
"
);
info
+=
str;
str.Format(L
"
<spanclass=cpp-comment>%ddB</span>
"
,pDoc
->
m_pTestPrj
->
m_InnerAttenuator);
info
+=
str;
str.Format(L
"
<fontsize=14>外部衰减:</font>
"
);
info
+=
str;
str.Format(L
"
<spanclass=cpp-comment>%ddB</span><br>
"
,pDoc
->
m_pTestPrj
->
m_OuterAttenuator);
info
+=
str;
pmfrm
->
m_toolTip.ShowHelpTooltip(
&
pt,info);
}
}
分享到:
相关推荐
软件测试规范 目 录 一.概述 ............................................................................................................................................................ 1 二 软件...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
3.1功能 登录模块设计:本段程序功能非常简单,提供新用户注册和响应登陆者,并根据用户的权限打开不同的登陆界面。 普通员工登录设计:本段程序主要是区分普通用户和管理员用户,普通用户享有的权限很小,所享受的...
7 5 数据库设计说明书…………………………………………………………8 6 详细设计说明书……………………………………………………………9 7 系统实现……………………………………………………………………11 8测试...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
启动摄像头画面后跟随黄色标线(即标准文件动作序列,相关数据保存在`pose_std.json`文件中)完成【左肘伸展弯曲】动作,若实时动作与标准动作误差较大,将在画面左上角显示红色`WRONG`提示信息。 【备注】 1、该...
7 5 数据库设计说明书…………………………………………………………8 6 详细设计说明书……………………………………………………………9 7 系统实现……………………………………………………………………11 8测试...
3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶...
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
也可以设置某个功能插件能够自动运行(即打开软件直接打开工功能,如Customers数据库即是被定义为自启动的示例),PAD面板(示例中的测试面板)。 权限管理:权限管理实现了基本的权限管理包括用户管理,用户权限...
5.2.4 测试函数功能 129 5.2.5 解析函数参数 130 5.2.6 class-dump的局限性 133 5.3 实例演示 133 5.3.1 得到灵感 134 5.3.2 定位文件 135 5.3.3 定位函数 143 5.3.4 测试函数 145 5.3.5 编写实例代码 145 ...
实验课程:软件工程 实验项目:《餐饮管理系统》需求分析说明书 指导老师:庞雄文 开课时间:2012 ~ 2013年度第 1学期 专 业:软件工程(数字媒体) 班 级:2010级7,8班 学 生:邓润锋 何嘉妮 余晶晶 学 号:...
6、查询商品信息功能:该功能属于会员功能,会员可以根据商品名称和价格对商品信息进行查询。 7、商品订购功能:该功能属于会员功能,会员可以选择商品信息进行订购,生成订单。 -------- 不懂运行,下载完可以私聊...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); ● 运行维护(扩充功能、纠错等)。 习题二答案 一、 选择题 1. 需求分析的主要目的是(B C)。 A) 系统开发的具体方案 B) 进一步确定用户的...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
中通2008通信概预算编制系统简介 一、 概述: 本软件依据工业和信息化... V4.1.0 依据《关于调整通信工程安全生产费取费标准和使用范围的通知》工信部通函【2012】213号,安全生产费率由1%改为1.5%。(2012-10-19)
功能说明 已在相应函数内实现切割图片、随机排列小方块、“New Game”按钮可以重新排序并开始、完成后的相应提示。 计时、计步、算分函数基本已实现。 可以修改难度为 n x n (n > 3),已实现。 出错处理:输入限制为...
启动摄像头画面后跟随黄色标线(即标准文件动作序列,相关数据保存在pose_std.json文件中)完成【左肘伸展弯曲】动作,若实时动作与标准动作误差较大,将在画面左上角显示红色WRONG提示信息。 用户动作关键点序列...
7、配置你的tomcat(idea右上角添加运行配置,导入你的tomcat,然后idea会提示修正项目,修正即可,之后,上面会显示工程访问路径,点击就可以访问 项目采用技术 ## 后端 1. Junit测试 2. JDK17 进行开发 3. 采用...