我才学用VC,用的不爽。头给个控件。我能写点代码,确用不了那个东西。给的有实例可我都快找COPY 一遍了,还是它的行,我的不行。。请高手给指点一下。

解决方案 »

  1.   

    例如,一个 Hello, World 程序,说明按钮的使用:
    1.File->New...选择 MFC AppWizard(exe),输入一个 Project name ,比如 Hello
    2.在 MFC AppWizard - Step 1 里,选择 Dialog based,点 Finish 按钮,再点 OK
    3.出现了对话框,在其上放一个 Button 和一个 Edit box
    4.双击 Button1 ,在出现的对话框点 OK ,你进入了 HelloDlg.cpp 文件里,
      开始编写代码了,如下:
      void CHelloDlg::OnButton1() 
      {
        // TODO: Add your control notification handler code here
        SetDlgItemText(IDC_EDIT1, "Hello, World!");
      }
    5.按 F7 编译,再按 Ctrl + F5 运行。
      

  2.   

    例2 CListBox 的使用
    1.继续在例 1 的基础上,在 dialog 上再添加一个按钮,Button2, 和一个 List Box
    2.添加 Button2 的代码如下:
      void CHelloDlg::OnButton2() 
      {
        // TODO: Add your control notification handler code here
        CString str;
        GetDlgItemText(IDC_EDIT1, str);
        CListBox *pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
        pListBox->AddString(str);
      }
    3.按 F7 编译,再按 Ctrl + F5 运行。
      

  3.   

    例3 Check Box 的使用,当选中 Check Box 才添加到 List Box 中
    1.添加一个 Check Box(IDC_CHECK1)和一个按钮 Button3
    2.添加 Button3 的代码如下:
      void CHelloDlg::OnButton3() 
      {
        // TODO: Add your control notification handler code here
        CString str;
        GetDlgItemText(IDC_EDIT1, str);    CButton *pButton = (CButton*)GetDlgItem(IDC_CHECK1);
        if( pButton->GetCheck() == 1 )
        {
          ((CListBox*)GetDlgItem(IDC_LIST1))->AddString(str);
        }
      }
      

  4.   

    例4 CProgressCtrl 的使用
    1.添加一个 Progress 控件
    2.添加 Button4 的代码如下:
      void CHelloDlg::OnButton4() 
      {
        CProgressCtrl *pProg = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        int nMin(1), nMax(1000);
        pProg->SetRange(nMin, nMax);
        for(int i=nMin; i<nMax; i++)
        {
          pProg->SetPos(i);
          Sleep(1);
        }
        //设置 static 
        SetDlgItemText(IDC_STATIC, "处理完成!");
      }
      

  5.   

    例5 List Control 控件的使用
    1.添加一个 List Control 控件 ( IDC_LIST2 ) 和一个按钮 ( IDC_BUTTON5 )
    2.对它点右键查属性 Properties 选择 Styles 页,在 View 下拉框里选择 Report
    3.添加 Button5 的代码如下:
    void CHelloDlg::OnButton5() 
    {
      //初始化 CListCtrl
      CListCtrl *pList = (CListCtrl*)GetDlgItem(IDC_LIST2);
      //设置选中行高亮显示标志
      pList->SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EDITLABELS );
      pList->InsertColumn(0, "ID", LVCFMT_LEFT, 64);
      pList->InsertColumn(1, "Name", LVCFMT_LEFT, 130);  //添加数据
      int nItem, RowNumber;
      CString strNo, strName;
      for(RowNumber = 0; RowNumber<10; RowNumber++)
      {
        strNo.Format("%d", RowNumber);
        nItem = pList->InsertItem(RowNumber, _T(strNo));
        pList->SetItemText(nItem, 0, _T(strNo));
        pList->SetItemText(nItem, 1, _T("李逍遥" + strNo));
      }
    }
      

  6.   

    就讲这 5 个例子了,其它的自己可以查 MSDN,如果你不知道那个控件属于什么类,那么执行下面的步骤:
    1.把控件添加到 dialog 中,再点菜单 View -> ClassWizard...选择 Member Variables ,在 Control IDs 列表框中选择你要了解的控件 ID ,点 Add Variable... 在出现的 Add Member Variable 对话框中的 Category 中选择 Control ,这时 Variable type 列表框中就显示了该控件的类名称,好了,我们的目的达到了,一路点 Cancel 返回。
    2.在 MSDN 的索引中输入该类名称,就可查看其 class members 了