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

正文內(nèi)容

可視化編程技術(shù)(4)-資料下載頁

2025-05-12 17:46本頁面
  

【正文】 HREDRAW|CS_VREDRAW, 0,(HBRUSH)::GetStockObject(WHITE_BRUSH),0)。 ?修改窗口標(biāo)題( P161) 58 處理文檔 ?創(chuàng)建存放直線坐標(biāo)的類 class CMyLine:public CObject { protected: int m_StartX。 int m_StartY。 int m_EndX。 int m_EndY。 public: CMyLine(int StartX,int StartY,int EndX,int EndY)。 void DrawLine(CDC *pDC)。 }。 59 CMyLine::CMyLine(int StartX,int StartY,int EndX,int EndY) { m_StartX=StartX。 m_StartY=StartY。 m_EndX=EndX。 m_EndY=EndY。 } void CMyLine::DrawLine(CDC *pDC) { pDCMoveTo(m_StartX,m_StartY)。 pDCLineTo(m_EndX,m_EndY)。 } 60 ?在文檔類中添加處理直線集合的數(shù)據(jù)成員和成員函數(shù) protected: CObArray m_ObArray。 public: void AddLine(int Startx,int StartY,int EndX,int EndY)。 CMyLine *GetLine(int index)。 int GetTotalLine()。 61 CObArray集合 類說明 ... CObArray的對象 由 CObject派生的對象 Add(...), GetUpperBound(…), RemoveAt(…) GetAt(…), GetSize(…), RemoveAll(…) 62 void CExampleDoc::AddLine(int StartX,int StartY,int EndX,int EndY) { CMyLine *pMyLine=new CMyLine(StartX,StartY,EndX,EndY)。 (pMyLine)。 } CMyLine *CExampleDoc::GetLine(int index) { if (index0||index()) return 0。 return(CMyLine *)(index)。 } int CExampleDoc::GetTotalLine() { return ()。 } 63 ? 在 OnLButtonUp中添加存放直線坐標(biāo)的處理 CExampleDoc *pDoc=GetDocument()。 pDocAddLine (,)。 ? 修改視圖類的 OnDraw成員函數(shù) int index。 index=pDocGetTotalLine()。 while (index) pDocGetLine(index)DrawLine(pDC)。 64 ?刪除文檔數(shù)據(jù),重載 DeleteContents函數(shù) int index。 index=()。 while(index) delete (index)。 ()。 65 ?處理“撤消”命令 向菜單 ID_EDIT_UNDO發(fā) COMMAND和UPDATE_COMMAND_UI消息 int index。 index=()。 if(index=0) { delete (index)。 (index)。 } UpdateAllViews(NULL)。 pCmdUIEnable(())。 66 串行化處理 ?編寫 CMyLine對象的串行化代碼 – 在 CMyLine類中添加 DECLARE_SERIAL宏和默認(rèn)構(gòu)造函數(shù): CMyLine(){} DECLARE_SERIAL(CMyLine) – 在 CMyLine類中添加成員函數(shù) Serialize virtual void Serialize(CArchiveamp。 ar)。 – 在 CMyLine的 實現(xiàn)文件之前添加 IMPLEMENT_SERIAL(CMyLine,CObject,1) 67 void CMyLine::Serialize(CArchiveamp。 ar) { if (()) arm_StartXm_StartY m_EndXm_EndY。 else arm_StartXm_StartY m_EndXm_EndY。 } – 向文檔類添加串行化代碼 (ar)。 68 設(shè)置修改標(biāo)記 ?修改標(biāo)記用于指示文檔是否包含未保存的數(shù)據(jù),該標(biāo)記由 CDocument類維護 SetModifiedFlag()。 69 滾動處理 ?添加滾動功能 – 將視圖類的基類從 CView改為 CScrollView ?轉(zhuǎn)換坐標(biāo) – 在鼠標(biāo)處理函數(shù)內(nèi)轉(zhuǎn)換設(shè)備坐標(biāo)為邏輯坐標(biāo) CClientDC dc(this)。 OnPrepareDC(amp。dc)。 (amp。point)。 ?限制繪圖區(qū)域的大小 – 重載 OnInitialUpdate() 函數(shù) SIZE Size={640,480}。 SetScrollSizes(MM_TEXT,Size)。 70 窗口分割 ?修改主邊框窗口類 – 在父邊框中嵌入如下成員變量: CSplitterWnd m_wndSplitter。 – 重載父邊框的成員函數(shù) OnCreateClient – return (this,2,2, CSize(20,20),pContext)。 ?更新視圖 pDocUpdateAllViews(NULL)。 71 通過鼠標(biāo)拖動圓范例 ?在 ~ private: CRect m_ellipse。 CPoint m_mousePos。 BOOL m_bCaptured。 ?初始化數(shù)據(jù)成員 m_ellipse=CRect(0,0,100,100)。 m_bCaptured = FALSE。 72 用戶區(qū)域 舊圓位置 新圓位置 新圓TmpRect舊圓offset m_CurRect73 ?在 OnDraw中添加畫橢圓的函數(shù) pDCSelectStockObject(GRAY_BRUSH)。 pDCEllipse(m_ellipse)。 ?加入 OnLButtonDown消息 74 CRect rect。 CRgn circle。 (m_ellipse)。 if ((point)) { SetCapture()。 m_bCaptured = TRUE。 m_mousePos = point。 ::SetCursor(::LoadCursor(NULL,IDC_CROSS))。 } 75 ?加入 OnLButtonUp處理函數(shù) if (m_bCaptured) { ReleaseCapture()。 m_bCaptured = FALSE。 } ?加入 OnMouseMove處理函數(shù) CSize offset。 CRect tempRect,newRect, invalidRect,clientRect。 76 if (m_bCaptured) { GetClientRect(clientRect)。 if ((point)) {offset = point m_mousePos。 newRect = m_ellipse+offset。 (m_ellipse,newRect)。 (tempRect, clientRect)。 InvalidateRect(invalidRect,TRUE)。 m_mousePos = point。 m_ellipse = newRect。 } } 77 第二次作業(yè)( 15分) ? 編制一個有創(chuàng)意的程序,程序中需包含如下功能(不僅限此功能): – 帶有快捷選單,點擊后有一定意義; – 該程序具有繪圖功能; – 有動畫操作; – 具有存檔功能; – 程序的標(biāo)題和相應(yīng)的圖標(biāo)、菜單及工具欄具有特定含義 ? 例如: – 設(shè)計一個帶有 (Line,Ellipse,Rectangle)快捷選單的程序,當(dāng)用戶選擇選單上的某一項時,在窗口客戶區(qū)可用鼠標(biāo)左鈕控制輸出該圖形,并能保存到文檔中。 – 當(dāng)用戶按鍵盤上“ M” 鍵時,有一位圖 (該位圖用戶自由設(shè)計 )可沿上述圖形的邊緣緩慢移動。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1