005 MFC 选卡控件TabCtrl 动画控件Animate

#TabCtrlDemo 选项卡控件

  拖拽控件

  

  设置 ID IDC_TAB  设置变量名 m_tab

  初始化控件 两个2 页面

1 BOOL CTabCtrlDemoDlg::OnInitDialog()
2 {
3     .........
4 
5     m_tab.InsertItem(0, L"Page 1");
6     m_tab.InsertItem(1, L"Page 2");
7     ........
8 }

 

  在资源列表里面插入两个 新的DLG 然后设置设置 属性 和 

  给DLG 增添类 然后再头文件 TabCtrlDemoDlg.h里面加入 代码设置全局变量

1     CDlgPage1 m_page1;
2     CDlgPage2 m_page2;

  设置初始化代码 TabCtrlDemoDlg.cpp

  BOOL CTabCtrlDemoDlg::OnInitDialog()

    m_tab.InsertItem(0, L"Page 1");
    m_tab.InsertItem(1, L"Page 2");

    m_page1.Create(MAKEINTRESOURCE(IDD_DIALOG_PAGE1), &m_tab);
    m_page2.Create(MAKEINTRESOURCE(IDD_DIALOG_PAGE2), &m_tab);
    

    CRect rc;
    m_tab.GetClientRect(rc);
    rc.top += 25;
    
    m_page1.MoveWindow(rc);
    m_page2.MoveWindow(rc);

    m_page1.ShowWindow(SW_SHOW);

  设置TAB控件消息

 1 void CTabCtrlDemoDlg::OnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult)
 2 {
 3     // TODO: 在此添加控件通知处理程序代码
 4     switch(m_tab.GetCurSel())
 5     {
 6     case 0:
 7         m_page1.ShowWindow(SW_SHOW);
 8         m_page2.ShowWindow(SW_HIDE);
 9         break;
10     case 1:
11         m_page2.ShowWindow(SW_SHOW);
12         m_page1.ShowWindow(SW_HIDE);
13         break;
14     }
15     *pResult = 0;
16 }

#AnimateDemo

  拖拽控件 设置控件ID 分别位

    IDC_EDIT_PATH

    IDC_BTN_GET_PATH

    IDC_BTN_PLAY

    给Animate控件增添 变量 m_animate

    

  双击...按钮 编写响应消息

 1 void CAnimateDemoDlg::OnBnClickedBtnGetPath()
 2 {
 3     // TODO: 在此添加控件通知处理程序代码
 4     CFileDialog file_dialog(FALSE, nullptr, nullptr, OFN_FILEMUSTEXIST, L"*.avi|*.avi|*.wmv", this);
 5     //false 打开 TURE 保存
 6     if (file_dialog.DoModal() == IDOK)
 7     {
 8         SetDlgItemTextW(IDC_EDIT_PATH, file_dialog.GetPathName());
 9     }
10 }
11 
12 
13 void CAnimateDemoDlg::OnBnClickedBtnPlay()
14 {
15     // TODO: 在此添加控件通知处理程序代码
16     CString strPath;
17     GetDlgItemTextW(IDC_EDIT_PATH, strPath);
18 
19     if (m_animate.Open(strPath))
20     {
21         m_animate.Play(0, -1, -1);
22     }
23     else
24     {
25         MessageBoxW(L"打开失败!");
26     }
27 }

  

原文地址:https://www.cnblogs.com/sdk123/p/6837062.html