1软件界面设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.软件界面设计
新建MFC客户端对话框应用程序,工程名:ScreenClient 一.客户端主对话框界面
主要控件ID号
功能ID号关联变量
IP地址编辑框IDC_ADDRESS m_address
端口号编辑框IDC_PORT m_port
发送命令编辑框IDC_COMMANDEDIT
登陆按钮IDC_LOGIN
屏幕按钮IDC_SCREEN
文件传输按钮IDC_FILE_SEND
发送命令按钮IDC_COMMANDSEND
命令帮助按钮IDC_COMMANDHELP
显示信息编辑框IDC_EDIT1_READ m_edit_read
**给IP地址编辑框及端口号编辑框赋初值:在主对话框类CScreenClientDlg的构造函数中完成。
m_port = "8900";
m_address = "127.0.0.1";
**程序运行时,屏幕按钮、文件传输按钮、发送命令按钮不可用:在OnInitDialog函数中完成:
GetDlgItem(IDC_SCREEN)->EnableWindow(FALSE);
GetDlgItem(IDC_COMMANDSEND)->EnableWindow(FALSE);
GetDlgItem(IDC_FILE_SEND)->EnableWindow(FALSE);
2.客户端录屏窗口:
(1)在资源视图中插入对话框,修改ID为:IDD_SCREEN_DLG
(2)为该对话框添加相关联的类:CScreenDlg
(3)在资源视图中插入菜单:IDR_MENU1
一级菜单标题为“控屏”,二级菜单标题及ID依次为:
捕获屏幕:ID_CAPTERSCREEN
打开摄像头:ID_VIDEO
关闭摄像头:ID_CLOSE_VIDEO
关闭屏幕:ID_CLOSE_SCREEN
(4)将该菜单放置到录屏对话框中:在录屏对话框的属性窗口中选择该菜单(IDR_MENU1)
3.客户端摄像头界面
***类似第2步,在资源视图中插入“摄像头对话框”,设置属性:标题:“摄像头”,ID: IDD_VIDEODLG
***建立“摄像头对话框”相关联的类:CVideoDlg
4.当单击“屏幕”按钮时弹出“录屏窗口”
(1)在CScreenClientDlg类中定义共有成员变量:CScreenDlg screendlg;
#include "ScreenDlg.h"
(2)在“屏幕”按钮的消息相应函数中创建非模态对话框
void CScreenClientDlg::OnScreen()
{
screendlg.Create(IDD_SCREEN_DLG); //创建一个非模态对话框
screendlg.ShowWindow(SW_SHOWNORMAL);
}
5.当单击“录屏窗口”中“控屏”菜单下的“打开摄像头”菜单时,弹出“摄像头”窗口***在录屏窗口类(CScreenDlg)头文件中包含VideoDlg.h
(1)CVideoDlg* videoDlg; //在录屏窗口类(CScreenDlg)头文件中定义摄像头窗口对象(2)给菜单“打开摄像头”添加消息映射函数OnVideo()
(3)在OnVideo()中创建非模态对话框,调出“摄像头”窗口
void CScreenDlg::OnVideo()
{
// TODO: Add your command handler code here
videoDlg=new CVideoDlg();
videoDlg->Create(IDD_VIDEODLG,NULL);
videoDlg->ShowWindow(SW_SHOW);
}