1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>計算機信息技術>VC++中靜態控件的特殊用法

    VC++中靜態控件的特殊用法

    時間:2023-02-21 00:12:21 計算機信息技術 我要投稿
    • 相關推薦

    VC++中靜態控件的特殊用法

      【摘要】 本文將通過示例程序來介紹Visual C++ 6.0靜態控件的一些特殊用法 【關鍵詞】Visual C++ 靜態控件 圖標 位圖
      
      使用Visual C++ 6.0編制軟件時,靜態控件是最常用的控件之一。一般情況下,靜態控件用作那些沒有固定標題文本屬性的控件(如文本編輯控件、列表框等)的標簽,或者用來為控件分組,或者用來顯示一些提示性的文件。實際上,靜態控件除了顯示靜態文本這一基本功能外,還有許多其他的特殊功能,如在靜態控件中可以顯示圖標、位圖,甚至還可以在靜態控件中顯示動畫。本文將通過示例程序來介紹靜態控件的這些特殊用法。
      
      顯示圖標
      
      ⑴ 使用AppWizard創建一個基于對話框的MFC應用程序,設置其工程名為ShowIco.
      
      ⑵ 在對話框上增加一個靜態控件。需要注意的是,有資源管理器添加的靜態控件在默認情況下其ID均為IDC_STATIC,因此,如果需要在程序中區分和操縱各個不同的靜態控件,一般情況下,需要更改新添加的靜態控件的ID值。這里將靜態控件的ID值設置為IDC_SHOWICO.
      
      ⑶ 在資源管理器中添加圖標資源,其ID為IDI_ICON1.
      
      ⑷ 使用ClassWizard添加WM_INITDIALOG消息處理函數OnInitDialog.
      
      ⑸ 在OnInitDialog函數中下面的代碼:
      
      //獲得指向靜態控件的指針
      
      CStatic *pStatic=(CStatic *)GetDlgItem(IDC_SHOWICO);
      
      //加載圖標
      
      HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON1);
      
      //設置靜態控件的樣式,使其可以使用圖標,并試圖標顯示使居中
      
      pStatic->ModifyStyle(0xF,SS_ICON|SS_CENTERIMAGE);
      
      //設置靜態控件圖標
      
      pStatic->SetIcon(hIcon);
      
      運行該程序,顯示如圖1所示。
      
      圖1 使用靜態控件顯示圖標
      
      2.顯示位圖
      
      ⑴ 使用AppWizard創建一個基于對話框的MFC應用程序,設置其工程名為ShowBmp.
      
      ⑵ 在對話框上增加一個靜態控件,將靜態控件的ID值設置為IDC_SHOWBMP.
      
      ⑶ 在資源管理其中添加位圖資源,其ID為IDB_INFO.
      
      ⑷ 使用ClassWizard添加WM_INITDIALOG消息處理函數OnInitDialog.
      
      ⑸ 在OnInitDialog函數中下面的代碼:
      
      //獲得指向靜態控件的指針
      
      CStatic *pStatic=(CStatic *)GetDlgItem(IDC_SHOWBMP);
      
      //獲得位圖句柄
      
      HBITMAP Bitmap=::LoadBitmap(AfxGetApp()_hInstance,
      
      MAKINTRESOURCE(IDB_INFO));
      
      //設置靜態控件的樣式,使其可以使用位圖,并試位標顯示使居中
      
      pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
      
      //設置靜態控件顯示位圖
      
      pStatic->SetBitmap(hBitmap);
      
      運行該程序即可。
      
      顯示動畫
      
      編寫一個字符串在靜態控件中不停的移動的程序。
      
      使用AppWizard創建一個基于對話框的MFC應用程序,設置其工程名為ShowAnimation.
      
      在對話框上增加一個靜態控件。將靜態控件的ID值設置為IDC_PREVIEW.
      
      使用ClassWizard添加WM_INITDIALOG消息處理函數OnInitDialog和WM_TIMER的消息處理函數OnTimer.
      
      ⑷ 在CshowAnimationDlg類中,增加兩個變量m_x和m_y,用以表示字符串的坐標。
      
      ⑸ 在OnInitDialog函數中添加下列代碼:
      
      m_x=0;
      
      m_y=0;
      
      KillTimer(1);
      
      VERIFY(SetTimer(1, 500, NULL) != 0);
      
      在CshowAnimationDlg類中,增加一個成員函數Draw()如下:
      
      void CshowAnimationDlg::Draw()
      
      {
      
      CWnd *pWnd=GetDlgItem(IDC_PREVIEW);
      
      CDC *pDC=pWnd->GetDC();
      
      RECT rect;
      
      pWnd->GetClientRect(&rect);
      
      pWnd->Invalidate();
      
      pWnd->UpdateWindow();
      
      pDC->SelectStockObject(BLACK_BRUSH);
      
      pDC->Rectangle(0,0,rect.right,rect.bottom);
      
      pDC->SetTextColor(RGB(255,0,0));
      
      pDC->SetBkColor(RGB(0,0,0));
      
      if((m_x>=rect.right)||(m_y>=rect.bottom-20))
      
      { m_x=0;
      
      m_y=0;
      
      }
      
      pDC->TextOut(m_x,m_y,“動畫”);
      
      }
      
      在OnTimer函數中,添加如下代碼:
      
      if (nIDEvent == 1)
      
      {
      
      m_x+=5;
      
      m_y+=5;
      
      Draw();
      
      }
      
      else CWnd::OnTimer(nIDEvent);
      
      運行該程序,顯示如圖2所示。
      
      圖2在靜態控件中顯示動畫

    【VC++中靜態控件的特殊用法】相關文章:

    VC 中靜態控件的特殊用法04-16

    在VC++中用ActiveX控件實現與單片機的串行通信08-06

    在VB中如何使用 Winsock 控件08-06

    利用VC中的通訊控件開發串形通信程序08-06

    動詞have在中學英語中的用法08-08

    進行時不表示進行的一些特殊用法08-08

    讓學生感受靜態美08-05

    靜態圖像的直接顯示08-06

    PHP調用自制控件實現操作環境的轉化08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      精品亚洲成AV片在线观看 | 久久综合久久综合久久 | 亚洲综合图区天堂在线 | 亚洲欧洲在线观看 | 五月天偷拍视频久久 | 亚洲国产综合在线中文字幕 |