CComBox::
设置一个指向IDC_COMBO1的指针,用AddString()填充下拉框:
pComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
pComb->AddString("Com1");
pComb->AddString("Com2");
pComb->AddString("Com3");
取得下拉框的索引,然后将它的值赋给一个变量:
pComb->GetLBText(index,value);
设置文本框的值:
GetDlgItemText(IDC_COMBO,strTemp);
strTemp+=" ";
SetDlgItemText(IDC_COMBO,strTemp);
状态栏(StatusBar):
在状态栏中添加一个窗口(ID_STATUSBAR_STR),值为"Test",先在MainFrm中找到Indicators的结构体,然后在
结构体中添加"ID_STATUSBAR_STR",如下:
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
当然,还可以在"VIEW"A菜单中的"Resource Symbols"中添加状态栏窗体(ID_STATUSBAR_STR).下面的代码可以
在程序中动态的改变状态栏的窗口(ID_STATUSBAR_STR)值:
SIZE size=dc,GetTextExtent("Test成功拉!");
int index=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控件的字体大小:
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
CFont* font = new CFont;
font->CreatePointFont(400, _T("华文行楷"), &dc);
if(pEdit)
{
pEdit->SetFont(font, TRUE);
}
else
AfxMessageBox("Failed");
获取应用程序的路径:
GetCurrentDirectory(MAX_PATH,lpPath);
strPath = lpPath;
strPath += "//";
strPath += "test.ini";