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 " ;