控件的访问
1,控件实际也是一个窗口
2,获取的控件对象:CWnd* GetDlgItem(int nID)const;//nID为控件的资源ID
3,获取控件的文本:GetWindowText(CString );
4,设置控件的文本:SetWindowText(CString );
5,静态文本控件默认是不发送通告消息的,修改属性notify设置
6,为了使一个静态文本控件能够响应鼠标点击的消息,那么需要两个特殊的步骤:第一步,改变他的ID,第二部,在它的属性对话框中选中Notify选项。
7,逗号表达式的使用。
8,ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。
(1)ANSI声明方式:ANSI:char str[1024];
UNICODE声明:UNICODE:wchar_t str[1024];
(2)函数使用
ANSI:即char,可用字符串处理函数:以str打头的函数。
UNICODE:即wchar_t 可用字符串处理函数:以wcs打头的函数,wcslen()等
(3)MFC中使用ANSI和UNICODE字符时,函数命名的不同。
ANSI:会在函数名后面+A GetWindowTextA()
UNICDE:会在函数名后面+W GetWindowTextW()
(4)int to char 调用 itoa()
char to int 调用atoi()
int to wchar_t 调用_itow()
wchar_t to int 调用 _wtoi()
9,控件文本访问方式
——1,首先获得控件指针对象,再调用控件成员函数或者成员变量
GetDlgItem(nID)->SetWindowTextW(_T("点击"))
——2,直接利用关联控件的设置文本函数
SetDlgItemTextA(nID,char);
——3,UINT GetDlgItemInt(nID,NULL,bSigned=TRUE):返回制定控件的文本并将其转为一个整形值.
——4,将控件分别与对话框类的成员变量相关联,然后通过这些成员变量来检索和设置控件文本
在对话框的DoDataExchange()成员函数中实现对对话框控件与类成员函数的关联,此函数不会自动执行,而由UpdateData()来调用。
注意:数据计算前后,都要调用UpdateData()来完成数据交换。
——5,将控件与相同的控件的对象相关联,实现控件对象调用控件成员函数或者成员变量。因此控件变量代表的就是控件本身。
——6,WINDOWS程序是基于消息的系统,所以可以通过发送消息来设置或者获取控件的文本
wchar_t ch1[10];
::SendMessageW(m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
——7,关联资源,发送消息 ::SendDlgItemMessageW(nID,WM_GETTEXT,10,(LPARAM)ch1);
10,获取窗口矩形GetWindowRect()
11,设置窗口位置SetWindowPos()
12,设置焦点:SetFocus()