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

正文內(nèi)容

抓圖軟件課程設(shè)計-文庫吧

2025-04-17 02:04 本頁面


【正文】 鼠標(biāo)所在處的窗口的 DC,不是很容易。 但是 能夠隨心所欲地在屏幕上進(jìn)行繪圖 卻 又不僅限于特定的窗口, GetDC 能夠做到這點! GetDC 的函數(shù)申明: HDC GetDC( HWND hWnd), hWnd 是 DC 對應(yīng)的窗口句柄,當(dāng)hWnd 為空 時 ,該函數(shù)返回的是整個屏幕的設(shè)備環(huán)境句柄!這就意味著我們可以在屏幕上進(jìn)行任意繪圖。在鼠標(biāo)所在處的窗口進(jìn)行繪圖時,繪圖本身的目 的 只是為了提醒用戶目前所選擇的窗口,所以,在進(jìn)行繪圖時,必須得保證不會破壞窗口原有的畫面。這點很好辦,將窗口的 DC繪圖模式設(shè)為 R2_NOTXORPEN(將畫筆顏色與屏幕顏色進(jìn)行異或后,再將屏幕顏取反),這樣,在同一個地方進(jìn)行兩次繪圖后(對同一像素進(jìn)行兩次異或運算,像素值并不會發(fā)生變化),窗口的畫面并不會發(fā)生任何變化 。以上就是此次截圖軟件設(shè)計當(dāng)中運用的相關(guān)技術(shù) 和設(shè)計實現(xiàn)原理 。 3 軟件詳細(xì)設(shè)計 3. 1 建立基于對話框的工程文件 啟動 Visual C++,生成一個基于對話框的工程,工 程名為“ Capture” . 然后準(zhǔn)備好一個外形為 細(xì)長矩形 的光標(biāo)文件( *.cur),將之引入資源管理器( IDC_CAMERA)。接著在CCaptureDlg類中加入兩個全局變量: HWND hwndCapture; CRect rectCapture。 UINT nFlags。 CPoint point; LPCTSTR lpFileName; HBITMAP hBitmap; 3. 2 添加消息 響應(yīng)函數(shù) 然后通過類向?qū)Ъ尤雽?WM_MOUSEMOVE 及 WM_LBUTTONUP 事件的響應(yīng)函數(shù), 添加WM_MOUSEMOVE 事件的響應(yīng)函數(shù)代碼 該函數(shù)主要實現(xiàn)的功能: 鼠標(biāo)左鍵按住不放,則開始抓取圖片 ,此時 隱藏程序窗口,以免影響在抓取時的“視野” ,接著 裝入“ 魔法棒 ”鼠標(biāo),開始追蹤鼠標(biāo)的移動 ,然后 獲得鼠標(biāo)所在處的窗口句柄 , 取得屏幕的設(shè)備環(huán)境句柄,以便在屏幕的任何位置繪圖 。接下來 建立一紅色的畫筆 , 得到鼠標(biāo)所在處的窗口的區(qū)域 , 在鼠標(biāo)所在處的窗口四周畫一紅色的矩形,做為選定時的提醒 。 void CCaptureDlg::OnMouseMove(UINT nFlags, CPoint point) { //如果用戶將鼠標(biāo)左鍵按住不放,則開 始抓取圖片 if(nFlags==MK_LBUTTON) { //隱藏程序窗口,以免影響在抓取時的“視野” ShowWindow(SW_HIDE)。 //裝入“ 魔法棒 ”鼠標(biāo),開始追蹤鼠標(biāo)的移動 HCURSOR cur=LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDC_CAMERA ))。 SetCursor(cur)。 SetCapture()。 //獲得鼠標(biāo)所在處的窗口句柄 ClientToScreen(amp。point)。 hwndCapture=(HWND)::WindowFromPoint(point)。 //取得屏幕的設(shè)備環(huán)境句柄,以便在屏幕的任何位置繪圖 HDC hDC=::GetDC(NULL)。 //建立一紅色的畫筆 HPEN hPen =CreatePen(PS_INSIDEFRAME,6, RGB(255,0,0))。 //將繪圖模式設(shè)為 R2_NOTXORPEN,在繪圖時可以不破壞原有的背景 int nMode =SetROP2(hDC, R2_NOTXORPEN)。 HPEN hpenOld= (HPEN)SelectObject(hDC, hPen)。 //得到鼠標(biāo)所在處的窗口的區(qū)域 ::GetWindowRect(hwndCapture,amp。rectCapture)。 //在鼠標(biāo)所在處的窗口四周畫一紅色的矩形,做為選定時的提醒 POINT pt[5]。 pt[0] = CPoint(, )。 pt[1] = CPoint(,)。 pt[2] = CPoint(,)。 pt[3] = CPoint(, )。 pt[4] = CPoint(, )。 ::Polyline(hDC,pt,5)。 //延時后再重繪紅色的矩形,這樣就不會破壞原有內(nèi)容 Sleep(100)。 ::Polyline(hDC,pt,5)。 ::SelectObject(hDC,hpenOld)。 ::ReleaseDC(NULL,hDC)。 } CDialog::OnMouseMove(nFlags, point)。 } 添加 WM_LBUTTONUP 事件的響應(yīng)函數(shù) 代碼: 該函數(shù)主要實現(xiàn)當(dāng)鼠標(biāo)左鍵釋放的時候 得到鼠標(biāo)所在處的窗口的區(qū)域?qū)?、?,然
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1