程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> MFC 點擊改變文本 加法計時器 伸縮窗體,mfc計時器

MFC 點擊改變文本 加法計時器 伸縮窗體,mfc計時器

編輯:C++入門知識

MFC 點擊改變文本 加法計時器 伸縮窗體,mfc計時器


1、添加所需控件,設置ID:labNum1,txtNum1、txtNum2、txtNum3、btnAdd,並將labNum1的屬性Notify->true(控件在被單擊或雙擊時可以發送消息)

2、雙擊labNum1控件,添加labNum1的響應函數,實現點擊文本,文本切換功能

void CMFCTestDlg::OnStnClickedlabnum1()
{
    // TODO: 在此添加控件通知處理程序代碼
    CString labNum1Str;
    GetDlgItem(labNum1)->GetWindowText(labNum1Str);
    if (labNum1Str==TEXT("Num1"))
    {
        GetDlgItem(labNum1)->SetWindowText(TEXT("數字1"));
    } 
    else
    {
        GetDlgItem(labNum1)->SetWindowText(TEXT("Num1"));
    }
}

3、實現加法計時器

  ①為控件分別添加變量,m_num1,m_num2,m_num3(若需要可以設定約束條件)

  

  ②為btnAdd添加響應函數

void CMFCTestDlg::OnBnClickedbtnadd()
{
    // TODO: 在此添加控件通知處理程序代碼
    UpdateData();//調用環境變量
    m_num3=m_num1+m_num2;
    UpdateData(FALSE);//更新環境變量
}

4、窗體伸縮

  ①添加控件btnFlex,文本設為“打開>>”。添加控件picSplit,將visible設為false,sunken設為true(改變控件樣式為有凹陷邊沿)

  

  ②添加全局靜態變量rectBig,rectSmall,rectSplit

static CRect rectBig;
static CRect rectSmall;
static CRect rectSlit;

  ③為了讓窗體加載完以後就以收縮的方式出現,所以在窗體加載函數OnInitDialog()裡添加響應代碼

    // TODO: 在此添加額外的初始化代碼
    GetWindowRect(&rectBig);
    GetDlgItem(picSplit)->GetWindowRect(&rectSlit);
    rectSmall.top=rectBig.top;
    rectSmall.bottom=rectBig.bottom;
    rectSmall.left=rectBig.left;
    rectSmall.right=rectSlit.right;
    SetWindowPos(NULL,0,0,rectSmall.Width(),rectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);

  ④為btnSplit添加響應函數

void CMFCTestDlg::OnBnClickedbtnflex()
{
    // TODO: 在此添加控件通知處理程序代碼
    CString btnFlexStr;
    GetDlgItemText(btnFlex,btnFlexStr);

    if (btnFlexStr==TEXT("收縮<<"))
    {
        SetDlgItemText(btnFlex,TEXT("打開>>"));
        SetWindowPos(NULL,0,0,rectSmall.Width(),rectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
    } 
    else
    {
        SetDlgItemText(btnFlex,TEXT("收縮<<"));
        SetWindowPos(NULL,0,0,rectBig.Width(),rectBig.Height(),SWP_NOMOVE|SWP_NOZORDER);
    }
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved