论坛: 编程破解 标题: 请帮忙看个vc程序 复制本贴地址    
作者: xingxing [planetisme]    论坛用户   登录
各位兄台,这是一个设计简单界面的程序。很多语句我都看不懂,有哪位看得懂的请帮我给它加上注释好吗?我急需弄明白它。先谢过了!#include"Stdafx.h"
#include"MainFrm.h"
#include"resource.h"
#ifdef DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE=_FILE_;
#endif

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT/*lpcs*/,
    CCreateContext*pContext)
{
  //创建标签容器
  if(!m_wndTab.Create(WS_BORDER|WS_CHILD|WS_VISBLE|TCS_TABS|TCS_HOTTRACK,
  CRect(0,0,0,0),this,AFX_IDW_PANE_FIRST))
  {
TRACE0("Failed to create tab\n");
return FALSE;
  }
  m_wndTab.ModifyStyleEx(0,WS_EX_CLIENTEDGE);
  CFont f;
  f.Attach(::GetStockObject(DEFAULT_GUI_FONT));
  m_wndTab.SetFont(&f,FALSE);
  f.Detach();

  //添加第一页
  m_wndTab.AddView(_T("捕获统计"),pContext->m_pNewViewClass,pContext);
  m_menu[0].LoadMenu(IDR_MAINFRAME);
  m_imgl[0].Create(IDB_BITMAP4,20,1,RGB(0,255,0));
  int i;
  if(!theApp.IsDriverLoaded())
  {
     m_menu[0].DeleteMenu(1,MF_BYPOSITION);
 m_tbID[0][0]-=4;
 m_tbID[1][0]-=4;
 for(i=3;i<=(int)m_tbID[0][0];i++)
 {
    m_tbID[0][i]=m_tbID[0][i+4];
 }
 for(i=3;i<=(int)m_tbID[1][0];i++)
 {
    m_tbID[1][i]=m_tbID[1][i+4];
 }
 for(i=2;i<=4;i++)
    m_imgl[0].Remove(2);
  }
  setMenu(&m_menu[0]);

  //添加第二页
  pContext->m_pNewViewClass=RUNTIME_CLASS(CCaptureView);
  m_wndTab.AddView(_T("数据列表"),pContext->m_pNewViewClass,pContext);
  m_menu[1].LoadMenu(IDR_CAPTUREVIEW);
  m_imgl[1].Create(IDB_BITMAP5,20,1,RGB(0,255,0));
  if(!theApp.IsDriverLoaded())
  {
     m_menu[1].DeleteMenu(1,MF_BYPOSITION);
 for(i=2;i<=4;i++)
     m_imgl[1].Remove(2);
  }
  return TRUE;
}


void CMainFrame::ChangeMenu(int nIndex)
{
ASSERT(nIndex>=0);
ASSERT(nIndex<NUM_OF_VIEWS);
SetMenu(&m_menu[nIndex]);
m_wndToolBar.SetButtons(m_tbID[nIndex]+1,m_tbID[nIndex][0]);
m_wndToolBar.GetToolBarCtrl().SetImageList(&m_imgl[nIndex]);
}


地主 发表时间: 04/24 16:16

回复: shengqishi [shengqishi]   论坛用户   登录
你最好上专门的论坛看看

B1层 发表时间: 04/24 17:01

回复: xingxing [planetisme]   论坛用户   登录
谢谢。对了可以介绍一下哪里有较好的论坛吗?

B2层 发表时间: 04/25 20:19

回复: meady [meady]   论坛用户   登录
这个应该是MDI程序的一部分,ONCREATECLIENT是在创建CHILDFRAM时在其中添加了TAB CONTROL,CHANGEMENU顾名思义就是更换菜单

B3层 发表时间: 04/30 20:23

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号