DeleteDC() 与 ReleaseDC() 的区别 [转]
DeleteDC??
該函數(shù)刪除指定的設(shè)備上下文環(huán)境(DC)。
原型:
BOOL DeleteDC(HDC?hdc);
參數(shù):
hdc:設(shè)備上下文環(huán)境的句柄。
返回值:
?? 成功,返回非零值;失敗,返回零。調(diào)用GetLastError獲取擴(kuò)展錯(cuò)誤信息。
說(shuō)明:
?? 如果一個(gè)設(shè)備上下文環(huán)境的句柄是通過(guò)調(diào)用GetDC函數(shù)得到的,那么應(yīng)用程序不能刪除該設(shè)備上下文環(huán)境,它應(yīng)該調(diào)用ReleaseDC函數(shù)來(lái)釋放該設(shè)備上下文環(huán)境。
?
ReleaseDC???
?
函數(shù)釋放設(shè)備上下文環(huán)境(DC)供其他應(yīng)用程序使用。函數(shù)的效果與設(shè)備上下文環(huán)境類(lèi)型有關(guān)。
原型:
int ReleaseDC(HWND?hWnd, HDC?hdc);
參數(shù):
hWnd:指向要釋放的設(shè)備上下文環(huán)境所在的窗口的句柄。
hDC:指向要釋放的設(shè)備上下文環(huán)境的句柄。
返回值:
?? 返回值說(shuō)明了設(shè)備上下文環(huán)境是否釋放;如果釋放成功,則返回值為1;如果沒(méi)有釋放成功,則返回值為0。
說(shuō)明:
?? 每次調(diào)用GetWindowDC和GetDC函數(shù)檢索公用設(shè)備上下文環(huán)境之后,應(yīng)用程序必須調(diào)用ReleaseDC函數(shù)來(lái)釋放設(shè)備上下文環(huán)境。
?? 應(yīng)用程序不能調(diào)用ReleaseDC函數(shù)來(lái)釋放由CreateDC、CreateCopatibleDC?函數(shù)創(chuàng)建的設(shè)備上下文環(huán)境,只能使用DeleteDC函數(shù)。
?
?
DeleteObject
?
該函數(shù)刪除一個(gè)邏輯筆、畫(huà)筆、字體、位圖、區(qū)域或者調(diào)色板,釋放所有與該對(duì)象有關(guān)的系統(tǒng)資源,在對(duì)象被刪除之后,指定的句柄也就失效了。
原型:
BOOL DeleteObject(HGDIOBJ hObject);
參數(shù):
hObject:邏輯筆、畫(huà)筆、字體、位圖、區(qū)域或者調(diào)色板的句柄。
返回值:
?? 成功,返回非零值;如果指定的句柄無(wú)效或者它已被選入設(shè)備上下文環(huán)境,則返回值為零。調(diào)用GetLastError獲取擴(kuò)展錯(cuò)誤信息。
說(shuō)明:
?? 當(dāng)一個(gè)繪畫(huà)對(duì)象(如筆或畫(huà)筆)當(dāng)前被選入一個(gè)設(shè)備上下文環(huán)境時(shí)不要?jiǎng)h除該對(duì)象。當(dāng)一個(gè)調(diào)色板畫(huà)筆被刪除時(shí),與該畫(huà)筆相關(guān)的位圖并不被刪除,該圖必須單獨(dú)地刪除。
?
======================
void CGLView::GLRelease() {wglDeleteContext(m_hRC);::ReleaseDC(m_hWnd,m_hDC); }void CGLView::OnDestroy() { CView::OnDestroy();// TODO: 在此處添加消息處理程序代碼 GLRelease(); }?
轉(zhuǎn)自:http://blog.163.com/result_2205/blog/static/13981945020104621715982/
總結(jié)
以上是生活随笔為你收集整理的DeleteDC() 与 ReleaseDC() 的区别 [转]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序员的思考--终于确定了自己的技术发展
- 下一篇: 产品经理与项目经理的区别