当前位置: 代码迷 >> VC >> 小弟我觉得GDI+有很多地方不如GDI,不服就来把GDI改成GDI+的
  详细解决方案

小弟我觉得GDI+有很多地方不如GDI,不服就来把GDI改成GDI+的

热度:239   发布时间:2016-05-05 00:03:41.0
我觉得GDI+有很多地方不如GDI,不服就来把GDI改成GDI+的
'绘制高亮
    Public Sub drawHighlight(hwnd As Integer)
        Dim hRgn As Integer = CreateRectRgn(0, 0, 0, 0)
        GetWindowRgn(hwnd, hRgn)
        Dim hDC As Integer = GetWindowDC(hwnd)
        SetROP2(hDc, R2_NOT)
        Dim hParent As Integer = GetParent(hwnd)
        If IsNothing(GetParent(hwnd)) Then
            Dim hBrush As Integer = CreateHatchBrush(HS_DIAGCROSS, &H646464)
            FrameRgn(hDC, hRgn, hBrush, 3, 3)
        Else
            Dim hPen As Integer = CreatePen(PS_SOLID, 5, &H0)
            SelectObject(hDC, hPen)
            SelectObject(hDC, GetStockObject(NULL_BRUSH))
            Dim rWindowRect As RECT
            GetWindowRect(hwnd, rWindowRect)
            OffsetRect(rWindowRect, -rWindowRect.left, -rWindowRect.top)
            Rectangle(hDC, rWindowRect.left, rWindowRect.top, rWindowRect.right, rWindowRect.bottom)
        End If
    End Sub

------解决方案--------------------
坐等上钩鱼。
------解决方案--------------------
个人感觉各有长处,比较喜欢混搭着用
------解决方案--------------------
是的,gdi+有些地方的确是不如GDI的好,但是gdi+在更多的地方比gdi先进了很多,gdi+操作起来更加面向对象化,功能更加多,使用起来更加方面了,但是最不爽的就是gdi+不支持双缓冲技术,导致视图重绘总是闪烁……这个不好解决,是gdi+处理图片的时候的致命伤
------解决方案--------------------
悄悄地跟lz说一声“不扶地话,你会尿裤子上地”
  相关解决方案