freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vc實驗手冊(編輯修改稿)

2024-07-23 00:27 本頁面
 

【文章內(nèi)容簡介】 how)。 //現(xiàn)實窗口 m_pMainWndUpdateWindow()。 //更新窗口 return true。}//CMainWindow 消息映射宏BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd) ON_WM_PAINT()END_MESSAGE_MAP()CMainWindow::CMainWindow(){ Create(NULL,_T(The Hello Program,MFC style))。}void CMainWindow::OnPaint(){ CPaintDC dc(this)。 CRect rect。 GetClientRect(amp。rect)。 (_T(Hell world),1,amp。rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER)。}l,捕獲鍵盤和鼠標(biāo)的消息。“我是程序員”,并將窗口的標(biāo)題欄改為:MyProg。實驗二、MFC曲線繪制實驗l 了解Windows圖形處理的基本原理。l 掌握Windows圖形和文本輸出。l Windows XP professional操作系統(tǒng)。l VS2005集成開發(fā)環(huán)境。l MFC曲線繪制實現(xiàn)l 圖形設(shè)備接口和接口環(huán)境Windows 是一個圖形操作系統(tǒng),Windows 使用圖形設(shè)備接口(GDI)進行圖形和文本輸出,MFC 封裝了GDI 對象,提供了CGdiObject 類和CDC 類支持圖形和文本輸出。Windows 引入GDI 的主要目的是為了實現(xiàn)設(shè)備無關(guān)性。所謂設(shè)備無關(guān)性,是指操作系統(tǒng)屏蔽了硬件設(shè)備的差異,使用戶編程時一般無須考慮設(shè)備的類型。應(yīng)用程序可以使用GDI創(chuàng)建3種類型的圖像:1. 適量圖形:如各種集合圖形。2. 光柵圖形:指光柵圖形函數(shù)對以位圖形式存儲的數(shù)據(jù)進行操作,它包括各種位圖和圖標(biāo)的輸出。3. 文本:以邏輯坐標(biāo)為單位進行計算,Windows中的文本是按圖形方式輸出的。1. 設(shè)備環(huán)境(Device Context,DC)為了體現(xiàn) Windows 的設(shè)備無關(guān)性,應(yīng)用程序的輸出不直接面向顯示器或打印機等物理設(shè)備,而是面向一個稱之為設(shè)備環(huán)境(Device Context,DC)的虛擬邏輯設(shè)備。設(shè)備環(huán)境,DC 也稱設(shè)備描述表或設(shè)備上下文。設(shè)備環(huán)境DC 是由GDI 創(chuàng)建、用來代表設(shè)備連接的數(shù)據(jù)結(jié)構(gòu)。DC 的主要功能有以下幾種:(1) 允許應(yīng)用程序使用一個輸出設(shè)備。(2) 提供Windows 應(yīng)用程序、設(shè)備驅(qū)動和輸出設(shè)備之間的連接。(3) 保存當(dāng)前信息,例如當(dāng)前的畫筆、畫刷、字體和位圖等圖形對象及其屬性,以及顏色和背景等影響圖形輸出的繪圖模式。(4) 保存窗口剪切區(qū)域(Clipping Region),限制程序輸出到輸出設(shè)備中窗口覆蓋的區(qū)域。2. 設(shè)備環(huán)境類CDC及其功能設(shè)備環(huán)境類功能描述CDC所有設(shè)備環(huán)境類的基類,對GDI 的所有繪圖函數(shù)進行了封裝;可用來直接訪問整個顯示器或非顯示設(shè)備(如打印機等)的上下文。CPaintDCCPaintDC 用于響應(yīng)窗口重繪消息(WM_PAINT)的繪圖輸出,不僅可對客戶區(qū)進行操作,還可以對非客戶區(qū)進行操作。CClientDC代表窗口客戶區(qū)的設(shè)備環(huán)境,一般在響應(yīng)非窗口消息并對客戶區(qū)繪圖時要用到該類。CWindowDC代表整個窗口的設(shè)備環(huán)境,包括客戶區(qū)和非客戶區(qū);除非要自己繪制窗口邊框和按鈕,否則一般不用它。CMetaFileDC代表Windows 圖元文件的設(shè)備環(huán)境;一個Windows 圖元文件包括一系列的圖形設(shè)備接口命令,可以通過重放這些命令來創(chuàng)建圖形;對CMetaFileDC 對象進行的各種繪制操作可以被記錄到一個圖元文件中。3. 設(shè)備環(huán)境類CDC 的一些常用函數(shù)4. 顏色的設(shè)置Windows 用COLORREF 類型的數(shù)據(jù)存放顏色,它實際上是一個32 位整數(shù)。任何一種顏色都是由紅、綠、藍3 種基本顏色組成的,COLORREF 類型數(shù)據(jù)的低位字節(jié)存放紅色強度值,第2 個字節(jié)存放綠色強度值,第3個字節(jié)存放藍色強度值,高位字節(jié)為0,每一種顏色分量的取值范圍為0~255。直接設(shè)置 COLORREF 類型的數(shù)據(jù)不太方便。MFC 提供了RGB 宏,用于設(shè)置顏色,它將其中的紅、綠、藍分量值轉(zhuǎn)換為COLORREF 類型的顏色數(shù)據(jù),其使用形式為:RGB(byRed,byGreen,byBlue)其中參數(shù) byRed、byGreen 和byBlue 分別表示紅、綠、藍分量值(范圍0~255)。例如,RGB(0,0,0)表示黑色,RGB(255,0,0)表示紅色,RGB(0,255,0)表示綠色,RGB(0,0,255)表示藍色。表33 列出了一些常用顏色的RGB 值。很多涉及到顏色的 GDI 函數(shù)都需要使用COLORREF 類型的參數(shù),如設(shè)置背景色的成員函數(shù)CDC::SetBkColor( )、設(shè)置文本顏色的成員函數(shù)CDC::SetTextColor( )。下面的代碼說明如何使用 RGB 宏。COLORREF rgbBkClr=RGB(192,192,192)。 //定義灰色pDCSetBkColor(rgbBkClr)。 //背景色為灰色pDCSetTextColor(RGB(0,0,255))。 //文本顏色為藍色5. 獲取設(shè)備環(huán)境在一個MFC 應(yīng)用程序中獲得DC 的方法主要有兩種:一是接受一個參數(shù)為指向CDC 對象的指針;二是聲明一個 MFC 設(shè)備環(huán)境類的對象,并使用this 指針為該對象賦值。6. GDI 對象CGdiObject在默認(rèn)狀態(tài)下,當(dāng)用戶創(chuàng)建一個設(shè)備環(huán)境并在其中繪圖時,系統(tǒng)使用設(shè)備環(huán)境默認(rèn)的繪圖工具及其屬性。如果要使用不同風(fēng)格和顏色的繪圖工具進行繪圖,用戶必須重新為設(shè)備環(huán)境設(shè)置自定義的畫筆和畫刷等繪圖工具。這些繪圖工具統(tǒng)稱為GDI 對象。GDI 對象是Windows 圖形設(shè)備接口的抽象繪圖工具。除了畫筆和畫刷,其他GDI 對象還包括字體、位圖和調(diào)色板。MFC 對GDI 對象進行了很好的封裝,提供了封裝GDI 對象的類。1. CPen類:裝GDI 畫筆。用于繪制對象的邊框以及直線和曲線。默認(rèn)的畫筆用于繪制與一個像素等寬的黑色實線。2. CBrush類:裝GDI 畫刷。畫刷是用來填充一個封閉圖形對象(如矩形、圓形)的內(nèi)部區(qū)域的,默認(rèn)的畫刷顏色是白色。3. CFont 類:封裝GDI 字體對象。用來繪制文本。用戶可以建立一種GDI 字體,并使用CFont 的成員函數(shù)來訪問它。主要用于設(shè)置文本輸出的效果,包括文字的大小、是否加粗、是否斜體、是否加下劃線等。4. CBitmap 類:封裝GDI 位圖。提供成員函數(shù)裝載和位圖操作,位圖可以用于填充區(qū)域。5. CPalette 類:封裝GDI 調(diào)色板。包含系統(tǒng)可用的色彩信息,是應(yīng)用程序和彩色輸出設(shè)備環(huán)境(如顯示器)的接口。6. CRgn 類:封裝GDI 區(qū)域。區(qū)域是窗口內(nèi)的一塊多邊形或橢圓形區(qū)域。CRgn 用于設(shè)備環(huán)境(通常是窗口)內(nèi)的區(qū)域操作,通常和CDC 類中與裁剪(clipping)有關(guān)的成員函數(shù)配合使用。l 畫筆和畫刷的使用庫存對象是由操作系統(tǒng)維護的、用于繪制屏幕的常用對象,包括庫存畫筆、畫刷、字體等。使用SelectStockObject( )函數(shù)可以直接選擇庫存對象,修改系統(tǒng)默認(rèn)值。如果選擇成功,函數(shù)SelectStockObject( )將返回以前的CGdiObject 對象的指針,需要將返回值轉(zhuǎn)換為相匹配的GDI 對象的指針。函數(shù)參數(shù)用于指定選擇的是哪一種GDI 庫存對象,可直接選用的庫存對象見表: 216。 創(chuàng)建MFC 應(yīng)用程序框架打開VS2005, 使用MFC AppWizard[exe]向?qū)?chuàng)建MFC應(yīng)用程序Sy5 框架,選擇單文檔應(yīng)用程序,其它默認(rèn)。216。 添加菜單項選擇項目工作區(qū)的資源視圖,展開menu文件夾,雙擊菜單資源IDR_MAINFRAME,打開菜單編輯器。在主菜單【幫助】的后面添加3 個菜單項【曲線】、【線寬】和【顏色】,并分別給它們添加子菜單,如下圖所示216。 創(chuàng)建快捷菜單為應(yīng)用程序添加一個快捷菜單,并將快捷菜單的菜單項設(shè)置為菜單欄中的相應(yīng)項,如下圖所示:216。 創(chuàng)建工具欄為應(yīng)用程序創(chuàng)建一個新的工具欄,并使工具欄上的各按鈕與菜單欄中的菜單項相對應(yīng),如下圖所示:216。 添加代碼n 添加成員變量及成員函數(shù)選擇項目工作區(qū)中的類視圖,右擊CSy5View,光標(biāo)移至添加,分別添加成員變量及成員函數(shù),見以下兩個表:在構(gòu)造函數(shù)中初始化成員變量:CSy5View::CSy5View (){m_typ=0。 //初始時窗口中不顯示曲線m_col=RGB(0,0,0)。 //顏色初始為黑色m_wid=1。 //線寬初始為1m_able=0。 //初始時除“正弦”和“余弦”菜單項外,新增的其他菜單項均//為不可用}n 添加成員函數(shù)代碼打開 文件,在類的定義前面添加代碼:const double PI=。打開 文件,添加如下文件包含代碼:include include 為上表中各成員函數(shù)添加代碼:double CSy5View::calsin(int x){double y。y=sin(x*PI/180)。 //計算正弦return y。}double CSy5View::calcos(int x){double y。y=cos(x*PI/180)。 //計算余弦return y。}void CSy5View::drawline(CDC* pDC,int x1, int y1, int x2, int y2){pDCMoveTo(x1,y1)。pDCLineTo(x2,y2)。}void CSy5View::drawaxis(CDC *pDC){CString str。CFont myfont,*oldfont。(80,Arial,pDC)。 //定義坐標(biāo)刻度字體oldfont=pDCSelectObject(amp。myfont)。drawline(pDC,50,10,50,290)。 //繪制Y 軸drawline(pDC,45,150,780,150)。 //繪制X 軸for(int i=50。i780。i=i+90){drawline(pDC,i,145,i,150)。 //繪制X 軸上刻度線(%d,i50)。if((i50)!=0) pDCTextOut(i,155,str)。 //輸出X 軸上刻度值}for(i=0。i11。i++) //繪制Y 軸上刻度線,輸出刻度值{drawline(pDC,50,50+20*i,55,50+20*i)。(%.2f,*i)。if(i!=5) pDCTextOut(15,45+20*i,str)。else pDCTextOut(15,45+20*i,0)。}pDCSelectObject(oldfont)。()。}void CSy5View::drawcurve(CDC* pDC){drawaxis(pDC)。 //調(diào)用成員函數(shù)繪制坐標(biāo)系CPoint point[750]。CPen mypen,*oldpen。(PS_SOLID,m_wid,m_col)。 //創(chuàng)建實線畫筆、線寬及顏//色由參數(shù)m_wid 和m_col 確定oldpen=pDCSelectObject(amp。mypen)。for(int i=0。i722。i++){point[i].x=i+50。if(m_typ==1) //根據(jù)參數(shù)m_typ 的值確定曲線類型point[i].y=(int)(150calsin(i)*100)。else if(m_typ==2)point[i].y=(int)(150calcos(i)*100)。}for(i=0。i721。i++)drawline(pDC,point[i].x,point[i].y,point[i+1].x,point[i+1].y)。//調(diào)用函數(shù)繪制曲線pDCSelectObject(oldpen)。()。}n 建立消息映射分別為菜單項【正弦】、【余弦】、【線寬2】、【線寬3】、【紅色】和【藍色】添加COMMAND 及UPDATE_COMMAND_UI 消息處理函數(shù),見下表:在消息處理函數(shù)中添加如下代碼:void CSy5View::OnSin(){m_typ=1。 //選擇正弦曲線m_able=1。 //不可用菜單項變?yōu)榭捎肐nvalidate()。 //更新視窗}void CSy5View::OnCos(){m_typ=2。m_able=1。Invalidate()。}void CSy5View::OnColr(){m_col=RGB(255,0,0)。 //選擇紅色Invalidate()。}void CSy5View::OnColb(){m_col=RGB(0,0,255)。Invalidate()。}void CSy5View::OnWidsp2(){m_wid=2。 //設(shè)置線寬為2Invalidate()。}void CSy5View::OnWidsp3(){m_wid=3。Invalidate()。}void CSy5View::OnUpdateColb(CCmdUI* pCmdUI){pCmdUIEnable(m_able)
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1