1、 取得、设置控件文本:
CString str;
GetDlgItem(IDC_STATIC)->GetWindowText(str);
GetDlgItem(IDC_STATIC)->SetWindowText("my love!");
2、创建按钮:
Cbutton m_btn;
M_btn.create(“要显示的文本”, 样式(参见MSDN), Crect(大小、位置), this, 按钮ID);
销毁:m_btn.DestroyWindow();
3、在按钮组中设置或取消选择某个按钮:
CheckRadioButton(IDC_RADIO1, IDC_RADIO3, IDC_RADIO1);//当前选中按钮1
选择一个单选按钮或复选框:
SetCheck(int nCheck);//BST_UNCHECKED-没选中,BST_CHECKED-选中,BST_UNDETERMINATE-按钮处于不确定状态
4、获取按钮组中被选中的按钮的ID:
UINT nID1 = GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);
获取指定ID号的按钮的指针:Cbutton *ptn; ptn = (CButton *)GetDlgItem(nID2[i]);
5、设置/取得按钮的文本:Cstring str;SetDlgItemText(str); GetWindowText(str);
6、VC++单文档给菜单加响应函数:
1、先创建一个单文档应用程序,名为:Dialog。
2、打开ResourceView视图,右击Dialog文件夹,选择"插入Dialog",插入一个对话框。
3、双击对话框空白处,弹出"Adding a Class"窗口,选择单选项"Create a new class",弹出"New Class"窗口,在Name框中输入"CCIDD_DIALOG1",单击"OK"。其中"C"为"类的缩写,"CIDD_DIALOG1"是你自己起的名字。
4、打开ResourceView视图中的Menu文件夹,双击"IDR_MAINFRAME",展开"文件"菜单,右击"新建"菜单项,选择"属性",查看其ID为"ID_FILE_NEW"。
5、单击"查看|建立类向导"菜单项,弹出"MFC ClassWizard"窗口,在第一个选项卡下选择Class name:为"CDialogView",ObjectIDs:为"ID_FILE_NEW",Message:为"COMMAND"。单击"Add Function",在弹出的窗口中单击"OK",返回"MFC ClassWizard"窗口,单击"Edit Code",在函数中添加如下代码:
CCIDD_DIALOG1 dlg;
if(dlg.DoModal()==IDOK)
Invalidate();
并在本窗口顶部添加代码:#include "CIDD_DIALOG1.h" 用以包含对话框头文件。在StdAfx.h文件中添加#include "MainFrm.h"
扩展:在弹出的对话框添加按钮实现弹出对话框的收缩/扩展:
1、 在对话框上添加按钮IDD_BUTTON1,并添加一个图像控件;
2、 添加按钮的单击相应代码:
void CCIDD_DIALOG1::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
GetDlgItemText(IDC_BUTTON1, str);//获取按钮值
if("扩展<<" == str)
{
SetDlgItemText(IDC_BUTTON1, "收缩>>");
}
else
{
SetDlgItemText(IDC_BUTTON1, "扩展<<");
}
static CRect rectLarge;
static CRect rectSmall;
if(rectLarge.IsRectNull()) //检查对话框是否被赋值
{
CRect temp;
GetWindowRect(&rectLarge); //获取当前对话框的位置
GetDlgItem(IDC_PICTURE)->GetWindowRect(&temp);
rectSmall.top = rectLarge.top;
rectSmall.left = rectLarge.left;
rectSmall.right = rectLarge.right;
rectSmall.bottom = temp.bottom;
}
if("收缩>>" == str)
{
SetWindowPos(NULL, 0, 0, rectSmall.Width(), rectSmall.Height(), SWP_NOMOVE | SWP_NOZORDER);//对话框重新设置
}
else
{
SetWindowPos(NULL, 0, 0, rectLarge.Width(), rectLarge.Height(), SWP_NOMOVE | SWP_NOZORDER);//对话框扩展
}
}
本笔记产生的源代码工程已上传: http://download.csdn.net/detail/woshixiongge/6699867,希望跟大家一起学习。