【问题标题】:How do I draw a fine line like TreeView如何绘制像 TreeView 这样的细线
【发布时间】:2011-12-16 20:47:04
【问题描述】:

我希望能够使用原生 Windows API (LineTo) 绘制文件行,就像 TreeView 用来将节点相互连接的那个。但是使用RS_DOT 创建画笔 (::CreatePen(PS_DOT, 0, RGB(200, 200, 200))) 会产生不同类型的线条。有谁知道我怎么画这样一条线?

【问题讨论】:

    标签: c++ windows winapi gdi pen


    【解决方案1】:

    Creating a true dotted pen

    LOGBRUSH LogBrush;
    LogBrush.lbColor = c_colorGridLine;
    LogBrush.lbStyle = PS_SOLID;
    penDotted.CreatePen( PS_COSMETIC | PS_ALTERNATE , 1, &LogBrush, 0, NULL );
    

    【讨论】:

    • 感谢您的帮助,我使用的实际代码是:LOGBRUSH lb = {BS_SOLID, RGB(200, 200, 200), 0}; hPen = ::ExtCreatePen(PS_COSMETIC | PS_ALTERNATE | PS_ENDCAP_SQUARE | PS_JOIN_ROUND, 1, &lb, 0, NULL);
    • 是的,这里发布的代码假定 MFC。它很容易翻译成普通的 Win32,但事实并非如此。解释为什么它不被接受。 @Sam,您应该发布自己的答案作为答案,然后接受。不过,您可能想要对此表示赞成,因为它可以帮助您找到解决方案。
    猜你喜欢
    • 2013-07-07
    • 1970-01-01
    • 2018-10-13
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多