怎样取控件自己的HDC? 想在控件上画图,不想在OnDraw中画,怎样取控自己的hdc? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果想在控件上画图,那么就可以根据控件的ID来获取它的HDC(假设控件ID为IDC_STATIC_PANEL)HDC hDC = GetDlgItem(IDC_STATIC_PANEL)->GetDC()->GetSafeHdc(); //或者HDC hDC = GetDlgItem(IDC_STATIC_PANEL)->GetDC()->m_hDC; 补允一下.我是在写控件程序,不是在程序中调用控件.控件程序中画图void CCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid){ // TODO: 用您自己的绘图代码替换下面的代码。 pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH))); pdc->DrawText("Control",CRect(rcBounds),DT_CENTER);}我不想在这里画图,想出这个HDC,在控件程序的其它地方画图,怎样在控件程序中取HDC? HDC CreateCompatibleDC( pdc ); this->GetDC()->GetSafeHdc() ;...this->ReleaseDC(); 我不想在这里画图,想出这个HDC,在控件程序的其它地方画图,怎样在控件程序中取HDC?????????????是不是想在别的控件里面画呢?如果是的话,我上面的回复已经可以实现了void CCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid){//假设控件ID为IDC_STATIC_PANELpDC = GetDlgItem(IDC_STATIC_PANEL)->GetDC();pDC->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));pDC->DrawText("Control",CRect(rcBounds),DT_CENTER);ReleaseDC(pDC);}如果不是这个意思,麻烦楼主把问题写清楚 socket10053、10054错误 CString乱码的问题 用源代码却报错 获取文件创建时间的问题 这是什错误!! 生成AVI时,如何在画面上添加文字 象VC中的移动可停靠窗口是怎么做的 关于内存泄露的问题?????? 有谁知道如何编程察看pwl中关于用户的登陆密码 高难问题:谁有RSA的快速实现算法,或者哪能找到,有源程序更好? 为什么我写的多线程程序很占CPU资源 ? ACTIVEX控件怎么响应键盘输入?
//或者
HDC hDC = GetDlgItem(IDC_STATIC_PANEL)->GetDC()->m_hDC;
控件程序中画图
void CCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: 用您自己的绘图代码替换下面的代码。
pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
pdc->DrawText("Control",CRect(rcBounds),DT_CENTER);}
我不想在这里画图,想出这个HDC,在控件程序的其它地方画图,怎样在控件程序中取HDC?
...
this->ReleaseDC();
????????????是不是想在别的控件里面画呢?如果是的话,我上面的回复已经可以实现了void CCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
//假设控件ID为IDC_STATIC_PANEL
pDC = GetDlgItem(IDC_STATIC_PANEL)->GetDC();
pDC->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
pDC->DrawText("Control",CRect(rcBounds),DT_CENTER);
ReleaseDC(pDC);
}如果不是这个意思,麻烦楼主把问题写清楚