CComBox::
设置一个指向IDC_COMBO1的指针,用AddString()填充下拉框:
CComboBox*pComb=NULL;
pComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
pComb->AddString("Com1");
pComb->AddString("Com2");
pComb->AddString("Com3");
取得下拉框的索引,然后将它的值赋给一个变量:
index=pComb->GetCurSel();
pComb->GetLBText(index,value);
设置文本框的值:
CStringstrTemp;
GetDlgItemText(IDC_COMBO,strTemp);
strTemp+=" ";
SetDlgItemText(IDC_COMBO,strTemp);
状态栏(StatusBar):
在状态栏中添加一个窗口(ID_STATUSBAR_STR),值为"Test",先在MainFrm中找到Indicators的结构体,然后在
结构体中添加"ID_STATUSBAR_STR",如下:
staticUINTindicators[]=
...{
ID_SEPARATOR,//statuslineindicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
ID_STATUSBAR_STR,
};
当然,还可以在"VIEW"A菜单中的"Resource Symbols"中添加状态栏窗体(ID_STATUSBAR_STR).下面的代码可以
在程序中动态的改变状态栏的窗口(ID_STATUSBAR_STR)值:
CClientDCdc(this);
SIZEsize=dc,GetTextExtent("Test成功拉!");
intindex=m_wndStatusBar.CommandToIndex(ID_STATUS);
m_wndStatusBar.SetPanelInfo(index,ID_STATUS_STR,SBPS_POPOUT,size.cx);
m_wndStatusBar.SetPanelText(index,_T("Test成功拉!",TRUE);
图形图象处理:
DC&GDI
DC的意思是设备环境,GDI的英文全称是Graphics Device Interface,即图形设备接口,在Windows程序中显示工作
是有DC来完成的,绘图工作是由GDI来完成的,那么,在初始化绘图对象之前,应该先初始化DC.
基类 |
CObject |
|
|
|
DC类 |
CDC |
|
|
|
派生类 |
CPaintDC |
CClientDC |
CWindowsDC |
CMetaFileDC |
CWindowsDC类与CPaintDC,CClientDC类的区别:
1.CWindows类可以在客户区和非客户区绘图,而CPaintDC,CClientDC只能在客户区绘图,所以CWindows
要在MainFrm类中使用,在VeiwL类中使用就不能在非客户区中绘图;
2.CWindows类在整个屏幕中建立坐标,而CPointDC和CClientDC是在客户区中建立坐标的.
绘图设备类(GDI):
基类 |
CGdiObject |
|
|
|
|
|
派生类 |
CPen |
CBrush |
CFont |
CBitmap |
CRgn |
CPalette |
绘图类的使用步骤:
1.定义一个GDI对象(如CPen,CBrush等),然后调用相应的函数(如CreatePen,CreatSolidBrush等)创建此GDI
对象.
2.将已构造出的GDI对象利用设备环境类的成员函数SelectObjiect()选入到当前环境中,并同时将原来的GDI对
象保存起来;
3.绘图结束后,恢复当前设备环境中原来的GDI对象,即利用设备环境类的成员函数SelectObjict将原来的GDI对
象重新选入.
下面是一个CPen类绘图的实例:
CPen pen;
pen.CreatPen(OS_SOLID,1,RGB(255,0,0));
CPen *pOldPen=pDC->SelectObjiect(&pen);
......
pDC->SelectObjiect(pOldPen);
改变Edit控件的字体大小:
CClientDCdc(this);
CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
CFont*font=newCFont;
font->CreatePointFont(400,_T("华文行楷"),&dc);
if(pEdit)
...{
pEdit->SetFont(font,TRUE);
}
else
AfxMessageBox("Failed");
获取应用程序的路径:
LPTSTRlpPath=newchar[MAX_PATH];
GetCurrentDirectory(MAX_PATH,lpPath);
strPath=lpPath;
strPath+="\\";
strPath+="test.ini";
分享到:
相关推荐
MFC基础知识
MFC基础知识总结
常规的C++/MFC基础知识测验试题,有一定的实用价值.
MFC基础知识.ppt MFC基础知识.ppt MFC基础知识.ppt MFC基础知识.ppt
讲述MFC基础知识的ppt。唐 龙教授 (计算机科学与技术系)。黄维通博士 (计算机与信息管理中心)
在网上套的资料,MFC基础知识总结,个人感觉还不错。
MFC基础知识,MFC基础知识,MFC基础知识,MFC基础知识,MFC基础知识,MFC基础知识,MFC基础知识,
非常棒的MFC基础知识呀,学习MFC之前必须下再来看看
全套的MFC开发教学文档,使用与初学MFC的同学
常用MFC绘图操作整理 总结部分常用的MFC绘图指令,部分由于版本较低,在VS2017中需要做一点修改
主要介绍了Visual C++入门及MFC相关知识
MFC 基础 入门 实例 北京邮电大学 visual c++ mfc
资源名称:MFC基础学习PPT课件(16个)资源目录:【】MFC_1.Windows程序运行原理【】MFC_10.多线程和同步【】MFC_11.进程的控制和访问【】MFC_12.动态链接库和钩子【】MFC_13.远程DLL注入【】MFC_14.网络编程【】MFC...
介绍MFC的基础PPT。MFC入门可看。
对于MFC基本操作的一些介绍,以使得读者对于MFC有一个基本的认识。
MFC相关知识总结
MFC基础类库关系图 好东西啊 学MFC先把他背熟了