VC缺省是把控件绘制为一个圆,现在我想把它换成我自己设计的一个图标,如何才能做到呢?

解决方案 »

  1.   

    我用如下代码绘制,结果不能绘制出"HDComm32Ctl.bmp"
    --------------------------------------------------------------------------
    void CHDComm32Ctrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
    {
        HICON hIcon = AfxGetApp()->LoadIcon("HDComm32Ctl.bmp");
        pdc->DrawIcon(rcInvalid.left, rcInvalid.top, hIcon);
        DestroyIcon(hIcon);
    }
    --------------------------------------------------------------------------
    谁能给个例子啊???
      

  2.   

    你所说那个园不是图标,那是默认的在控件中间画了个园,图标是你在用这个控件的时候会显示在你的控件上,你企图用DC在客户区画一个图标,向你那样怎么能画上去呢?你如果要改变图标可以到资源里直接更改,如果你要用LoadIcon的话,你在测试容器里是看不到的!
      

  3.   

    控件的默认图标是一个MFC!上面写错了“园”应是圆!
      

  4.   

    wangweixing2000(星)你好,工具条中显示的控件图标确实可以在资源里更改,但有没有简单的方法在客户区画一个图标呢?能给个简单的例子就好了.
      

  5.   

    HICON hIcon = AfxGetApp()->LoadIcon("HDComm32Ctl.bmp");
        pdc->DrawIcon(rcInvalid.left, rcInvalid.top, hIcon);这里有问题.请用断点调试,看看hIcon的值是否为NULL;
    修改为
    HICON hIcon = AfxGetApp()->LoadIcon(IDI_XXXX);
    pdc->DrawIcon(rcInvalid.left, rcInvalid.top, hIcon);
      

  6.   

    仿照MSDN中的例程已将问题解决