vc网络视频会议系统设计(需求分析+总体设计+系统设计+参考文献) 第5页
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
this->GetTreeCtrl().SetImageList(&m_imagelist,TVSIL_NORMAL);
this->GetTreeCtrl().DeleteAllItems();
this->ModifyStyle(0,TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS );
//添加树节点
HTREEITEM h_root;
CString tempstr;
h_root = this->GetTreeCtrl().InsertItem("功能列表",0,0);
for(int i = 0;i<NODECOUNT;i++)
{
毕业论文
http://www.751com.cn/ 论文网
http://www.751com.cn/);
this->GetTreeCtrl().SetBkColor(RGB(232,254,255));
this->GetTreeCtrl().SetTextColor(RGB(0,0,255));
m_font.CreateFont(0,0,0,0,FW_BOLD,0,0,0,DEFAULT_CHARSET,OUT_STRING_PRECIS
,CLIP_TT_ALWAYS,DEFAULT_QUALITY,DEFAULT_PITCH,"宋体");
this->SetFont(&m_font);
}
注意:树视图的双击事件并没有在CCustomTree类中实现,而是在主框架中实现的。
客户区域由树视图和普通视图两部分组成,因此需要分隔框架窗口。具体步骤如下:
(1)在框架类中定义一个CSplitterWnd对象m_splitter。
(2)改写框架类的虚拟方法OnCreateClient,划分客户区域,代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_splitter.CreateStatic(this,1,2);
m_splitter.CreateView(0,1,RUNTIME_CLASS(CCaptureView),CSize(200,100),pContext);
m_splitter.CreateView(0,0,RUNTIME_CLASS(CCustomTree),CSize(200,100),pContext);
m_temptree = (CCustomTree*)m_splitter.GetPane(0,0);
m_treehandle = m_temptree->m_hWnd;
return TRUE;//CFrameWnd::OnCreateClient(lpcs, pContext);
}
4.3 系统登录管理
1.实现目标
为了防止非法用户进入系统,笔者设计了系统登录窗口。在程序启动时,首先显示登录窗口,要求用户输入登录信息,如果用户输入不合法,将禁止进入系统。系统登录窗口运行结果如图8所示。
图8 系统登录
2.设计步骤
(1)在工作区中选择“Class View”选项卡,鼠标右键单击根节点,在弹出的快捷菜单中选择“New Form”菜单项,打开New Form窗口,如图9所示。
图9 New Form窗口
(2)在“Name”编辑框中输入窗口类名,例如“CLogin”,在“Base class”组合框中选择一个基类,这里为“CDialog”,单击“OK”按钮创建窗口。
(3)在工作区的资源视图中选择新创建的窗口,向窗口中添加图片、静态文本、群组框、列表视图、标签、编辑框、按钮等资源。设置主要资源属性如表1所示。
表1 主要资源属性设置
资源名称 资源ID 属性 值
Edit IDC_EDIT2 Styles Password
Button IDC_CONFIRM Caption 登录
Styles Flat
Edit IDC_EDIT3 General Disabled
3.代码分析
改写对话框的PreTranslateMessage方法,按<Enter>键控制焦点移动。
BOOL CLogin::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message== WM_KEYDOWN)
if (pMsg->wParam == 13)
if (pMsg->hwnd == m_password.m_hWnd)
pMsg->wParam = 9;
return CDialog::PreTranslateMessage(pMsg);
}
处理对话框初始化时的消息,创建图像列表,向图像列表中添加图标,加载操作员信息,将其显示在列表视图中。
BOOL CLogin::OnInitDialog()
{
CDialog::OnInitDialog();
m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,0,0);//创建图像列表
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_LOGIN1));//加载图标
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_LOGIN2));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON11));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON12));
m_list.SetImageList(&m_imagelist,LVSIL_NORMAL);//设置列表视图的图像列表
LoadOperators();//向列表视图中加载操作员信息
h_prohandle = ::LoadLibrary("user32");//加载动态库
AnimateWindow = (CFun*)::GetProcAddress(h_prohandle,"AnimateWindow");//获取函数地址
AnimateWindow(m_hWnd,1500,AW_CENTER);//调用动态库中的函数,使窗口特殊效果显示
return TRUE;
}
自定义函数LoadOperators用于加载操作员信息,并将操作员信息显示在列表视图中。
void CLogin::LoadOperators()
{
_RecordsetPtr m_pRecord;
CString sql = "select * from tb_Login";
CString m_operator;
int imageindex = 0;
int imagecount = m_imagelist.GetImageCount();
m_pRecord = dataManage.p_Con->Execute((_bstr_t)sql,NULL,adCmdText);
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
vc网络视频会议系统设计(需求分析+总体设计+系统设计+参考文献) 第5页下载如图片无法显示或论文不完整,请联系qq752018766