当前位置: 代码迷 >> QT开发 >> 怎么在QT 下调用GDI 绘图 ?在线急等
  详细解决方案

怎么在QT 下调用GDI 绘图 ?在线急等

热度:489   发布时间:2016-04-25 02:52:42.0
如何在QT 下调用GDI 绘图 ?在线急等
本帖最后由 wanglovec 于 2015-09-23 16:47:02 编辑
也画出来了, 但就是一闪而过 , 就 像绘图函数 只在 onsize()里函数 调用一样 ,急求解决方法。

void CZctViewDLL::OnDraw(CDC* pDC)
{

        CDC* pMemDC = this->GetMemDC();
        if (pMemDC == NULL)
            return;
        CBrush cbr;
        cbr.CreateSolidBrush(/*GuiDrawLayer::GetRGBColorFace()*/RGB(53,53,53));
        RECT rect;
        this->GetLocViewRect(rect);
        pMemDC->FillRect(&rect,&cbr);
        pMemDC->DrawText("hello",&rect,DT_SINGLELINE|DT_LEFT|DT_VCENTER);
}    >> 这段是MFC 的画图, 把它封装为DLL后在 

void ZctWidget::paintEvent( QPaintEvent *event )  函数里 调用 就会一闪而过(不断改变窗口大小时 ) ,不动窗口大小 则什么都看不到 。

也就是说 paintEvent产生的效果 和onDraw 不一样 , 网上有人说  它也不等于 wm_paint 消息。


问题来了, 我该怎么弄呢?
------解决思路----------------------
没有在Qt里掉用过MFC的绘制,应该是绘图机制不一样吧。
应该只能传Qt的QPainter到你dll里面画。
  相关解决方案