VC++6.0中画线不能改变粗细的问题 10
代码如下,无论CPenpen(PS_SOLID,width,color);一句中width改为多少,画出的线都是默认的粗细,没有改变。请问该如何解决?谢谢~m_Point...
代码如下,无论 CPen pen(PS_SOLID,width,color);一句中width改为多少,画出的线都是默认的粗细,没有改变。请问该如何解决?谢谢~
m_PointOrign=mousepoint;//用来记录源点与当前点的前一点
m_PointOld=mousepoint;
CountArray.Add(mousepoint);
CPen pen(PS_SOLID,width,color);
CPen *pOldPen=dc.SelectObject(&pen);
if(CountArray.GetSize()>1)
{
dc.MoveTo(CountArray.GetAt(CountArray.GetSize()-2));
dc.LineTo(CountArray.GetAt(CountArray.GetSize()-1));
} 展开
m_PointOrign=mousepoint;//用来记录源点与当前点的前一点
m_PointOld=mousepoint;
CountArray.Add(mousepoint);
CPen pen(PS_SOLID,width,color);
CPen *pOldPen=dc.SelectObject(&pen);
if(CountArray.GetSize()>1)
{
dc.MoveTo(CountArray.GetAt(CountArray.GetSize()-2));
dc.LineTo(CountArray.GetAt(CountArray.GetSize()-1));
} 展开
1个回答
展开全部
我不知道你MFC出了什么问题,要不你直接调用Win32代码试试:
创建画笔 - CreatePen
HPEN CreatePen(
int fnPenStyle,
// 画笔的样式
int nWidth,
// 画笔的宽度
COLORREF crColor
// 画笔的颜色
);//创建成功,返回画笔句柄
PS_SOLID - 实心线,可以支持多个像素
其他所有的风格,只能是1个像素宽。
例如:PS_DASH.
将画笔选入DC中 - SelectObject
HGDIOBJ SelectObject(
HDC hdc,
// DC句柄
HGDIOBJ hgdiobj
// 绘图对象句柄
);//返回旧的绘图对象句柄
绘图
取出DC中的画笔 - SelectObject
将原来的画笔,使用SelectObject函数
放入到DC中,就会将我们创建的画笔
取出。
释放画笔 - DeleteObject
BOOL DeleteObject(
HGDIOBJ hObject
// 绘图对象句柄
);
只能删除不被DC使用的画笔,所以在释放
画笔之前,必须将画笔从DC中取出。
我自己用MFC是不存在你说的问题的啊。你检查看看是不是别的问题。自己跟一下源代码,调试看看
创建画笔 - CreatePen
HPEN CreatePen(
int fnPenStyle,
// 画笔的样式
int nWidth,
// 画笔的宽度
COLORREF crColor
// 画笔的颜色
);//创建成功,返回画笔句柄
PS_SOLID - 实心线,可以支持多个像素
其他所有的风格,只能是1个像素宽。
例如:PS_DASH.
将画笔选入DC中 - SelectObject
HGDIOBJ SelectObject(
HDC hdc,
// DC句柄
HGDIOBJ hgdiobj
// 绘图对象句柄
);//返回旧的绘图对象句柄
绘图
取出DC中的画笔 - SelectObject
将原来的画笔,使用SelectObject函数
放入到DC中,就会将我们创建的画笔
取出。
释放画笔 - DeleteObject
BOOL DeleteObject(
HGDIOBJ hObject
// 绘图对象句柄
);
只能删除不被DC使用的画笔,所以在释放
画笔之前,必须将画笔从DC中取出。
我自己用MFC是不存在你说的问题的啊。你检查看看是不是别的问题。自己跟一下源代码,调试看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询