DC的几个概念啊
发过贴,但是没有解答清楚,再次发帖,希望一次性搞清楚,谢谢大家发言啊。。。呵呵
对于
对于void COwnerDrawListBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
是该RealseDC 还是Detach 合适?
第2个问题:
对于CDialog::OnPaint, 用CDC好,还是CPaintDC好??
第3个问题:
DC 最终是windows回收的, 那么为什么要用户手动释放DC呢??
比如: void COwnerDrawListBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
DRAWITEMSTRUCT 有个成员是HDC,
意味着ListBox的每一行都有一个DC的句柄,否则HDC是哪里来的???
谁给它的,是windows给它的, 既然给了它,那么FromHandle 起到的作用仅仅是
由句柄获得指针而言的作用啊, 那么为什么要Deatch 或者RealseDC ???
岂非多此一举??