tianxian_1019 2019-11-12 13:08 采纳率: 25%
浏览 128
已采纳

这段代码时什么意思看了好长时间看不懂

这段代码时什么意思看了好长时间看不懂

    case WM_DRAWITEM:
    {
        DRAWITEMSTRUCT* pDrawItemSturct = (DRAWITEMSTRUCT*)lParam;

        if (pDrawItemSturct->itemState & ODS_FOCUS)
        {
            RECT rtFocus = pDrawItemSturct->rcItem;
            rtFocus.left += 3;
            rtFocus.top += 3;
            rtFocus.right -= 3;
            rtFocus.bottom -= 3;
            _this->DrawFocusRect(pDrawItemSturct->hDC, rtFocus);
        }
        //_this->Draw(pDrawItemSturct->hDC);
    }
  • 写回答

1条回答 默认 最新

  • 杨阳爱吃鱼 2019-11-12 13:36
    关注
    case WM_DRAWITEM:
        {
            DRAWITEMSTRUCT* pDrawItemSturct = (DRAWITEMSTRUCT*)lParam;//获取自绘控件信息
    
            if (pDrawItemSturct->itemState & ODS_FOCUS)//判断控件是否获得焦点
            {
                RECT rtFocus = pDrawItemSturct->rcItem;//获取控件区域并存储在rtFocus
                rtFocus.left += 3;
                rtFocus.top += 3;
                rtFocus.right -= 3;
                rtFocus.bottom -= 3;//更改区域大小
                _this->DrawFocusRect(pDrawItemSturct->hDC, rtFocus);//画焦点矩形
            }
            //_this->Draw(pDrawItemSturct->hDC);//绘图
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?