Windows没有现成的这种笔,在很多软件中是用位图brush在区域中填充实现的。
解决方案 »
- 出现error C2664: “textout”: 不能将参数 6 从“const char [17]”转换为“LPTSTR”怎样修改程序?
- 内容是字符串指针的自画ListBox如何取得该指针所指向的具体字符串?
- VC环境下在BMP格式的图像中根据边缘特征的丰富程度标记一个符号
- 比较变态的想法 :能否在一个线程里面获取另外一个线程里面的消息队列里面的消息?
- 关于多线程的问题,请高手帮忙,谢谢!
- 请教一问题,关于键盘 !急呀
- <<windows网络编程(第二版)>>这本书怎么样?不知道值不值买??
- 使用MFC odbc 连接远程数据库,怎么捕捉到是否已掉线等异常,高分相送
- run time error 可能的原因分析
- 急救!!vc6里的操作符重载(友元方式)
- 在vc里弹出SaveFileDialog对话框必须有Dialog做吗?
- 哪里有vc++6.0英文版下载? D版的都是中文的
不知道你要的是不是这样
CPen *op = dc.SelectObject(&pen);
dc.Rectangle();
dc.SelectObject(op);
HPEN ExtCreatePen(
DWORD dwPenStyle, // pen style
DWORD dwWidth, // pen width
CONST LOGBRUSH *lplb, // brush attributes
DWORD dwStyleCount, // length of custom style array
CONST DWORD *lpStyle // custom style array
);
你可以看一下,是否符合要求。
采用PS_COSMETIC画笔的风格。详细的可看MSDN
CPen* pOldPen = dc.SelectObject(new CPen(PS_COSMETIC|PS_USERSTYLE,1,&lb,2,dwdStyles));
么?? 可是实现不了啊,所以我需要一个能实现的代码啊,帮帮忙吧?各位?
hPen=CreatePen(iPenstyle,iWidth,crColor);
iPenstyle是画笔的虚线和实线,可使用PS_DOT,为虚线
PS_SOLID 实线
PS_DASH - - - - - -
PS_DASHDOT -.-.-.-
PS_DOT .............
在使用时可以用SelectObject(hdc,CreatePen(PS_DOT,0,RGB(255,0,0)));
PS_DOT | PS_GEOMETRIC | PS_ENDCAP_SQUARE
DWORD dwdStyles[] = { 1,1 };
LOGBRUSH lb;
lb.lbColor = (COLORREF)0xAAAAAA;
lb.lbStyle = BS_SOLID;
//dc.SetLayout(LAYOUT_RTL);
//CPen* pOldPen = dc.SelectObject(new CPen(PS_COSMETIC|PS_USERSTYLE,1,&lb,14,dwdStyles));
HPEN hPen = ExtCreatePen(PS_COSMETIC|PS_USERSTYLE,1,&lb,2,dwdStyles);
CPen* pOldPen = dc.SelectObject(CPen::FromHandle(hPen));
//画坐标
dc.MoveTo(rcBound.left + 2, rcBound.top);
dc.LineTo(rcBound.left + 2, rcBound.bottom - 3);
dc.LineTo(rcBound.right,rcBound.bottom - 3);
dc.SelectObject(pOldPen);
执行结果依旧如此,没有办法啊,我想要代码,现成的代码啊~~~~,这种说法听得多了,我却实现不了,原来要几行源代码都这么难..
PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_SQUARE
或
PS_DOT | PS_GEOMETRIC | PS_ENDCAP_SQUARE
请你看仔细。
或
PS_DOT | PS_GEOMETRIC | PS_ENDCAP_FLAT
问题解决,给分
问题解决,谢谢
给分了