-
VC++ 使用不同的画笔绘制图形
VC++ 使用不同的画笔绘制图形,演示绘制矩形、绘制多段折线、绘制椭圆、弧形和饼图,使用不同的画笔类型来绘制不同的几何图形,演示了一些VC++图形绘制的基础技巧使用方法。下面的代码演示了如何绘制出这些图形:
//以实线画笔绘制矩形
pOldPen=pDC->SelectObject(&pen[0]);
pDC->Rectangle(10, 10, 110, 110);
pDC->TextOut(10, 115, "绘制矩形");
//使用虚线画笔和函数Polyline输出多段折线
pDC->SelectObject(&pen[1]); //载入虚线画笔
CPoint pts[]={CPoint(190, 20), CPoint(200, 60), CPoint(270, 40), CPoint(210, 80),
CPoint(250, 100), CPoint(300, 30), CPoint(310, 80)};
pDC->Polyline(pts, 7); //绘制多端折线
pDC->TextOut(180, 115, "绘制多段折线");
// 使用Pie和Arc输出饼图和弧形
pDC->SelectObject(&pen[2]); //载入点线画笔
pDC->Ellipse(10, 140, 160, 240);//绘制椭圆
pDC->SelectObject(&pen[3]); //载入点划线画笔
pDC->Pie(20, 150, 150, 230, 160, 160, 10, 160);
pDC->SelectObject(&pen[4]);//载入双点划线画笔
pDC->Arc(20, 150, 150, 230, 10, 220, 160, 220);
pDC->TextOut(10, 245, "绘制椭圆、弧形和饼图");
pDC->SetTextColor(RGB(0,0,255));
pDC->TextOut(220, 200, "使用不同的画笔绘制各种图形");
//恢复设备上下文的原有画笔
pDC->SelectObject(pOldPen);
//删除所创建的画笔资源
for (int i=0; i
- 2022-02-13 06:16:01下载
- 积分:1
-
vc++ 动画启动、关闭窗口并添加位图背景
vc++ 动画启动、关闭窗口并添加位图背景,加载位图,创建位图画刷,设置背景颜色模式为透明色,使用位图背景,且实现动画显示和关闭窗口,在窗口关闭时,同样以动画的方式结束。
void CMainFrame::OnClose()
{
AnimateWindow(GetSafeHwnd(),800,AW_CENTER|AW_HIDE);//在窗口关闭时,同样以动画的方式结束
CFrameWnd::OnClose();
}
- 2022-01-25 22:51:13下载
- 积分:1
-
VC++ 实现定制打印页的页眉和页脚
VC++ 实现定制打印页的页眉和页脚,除了自定义打印页脚和页眉外,还可根据每页显示行数,设置打印页数,并且在需要时,屏蔽默认函数对OnDraw的调用。打印方面的定制,可参考以下代码:
void CMultiPrint2View::PrintHeader(CDC *pDC)//定制页眉
{
pDC->TextOut(0,0,"设置打印页眉和页脚测试:来首诗吧:再别康桥");
}
void CMultiPrint2View::PrintFooter(CDC *pDC)//定制页角
{
CMultiPrint2Doc* pDoc = GetDocument();//获取文档指针
ASSERT_VALID(pDoc);
CString str;
CPoint point(0,-1440*10-1000);
str.Format("当前文档:%s",(LPCSTR)pDoc->GetTitle());//获取当前文档名
pDC->TextOut(point.x,point.y,str);
str.Format("第%d页,共%d页",m_nPage,(pDoc->m_stringArray.GetUpperBound()/pDoc->m_LinePerPage+1));
CSize size=pDC->GetTextExtent(str);//获取输出文本宽度
point.x+=1440*6+1600-size.cx;
pDC->TextOut(point.x,point.y,str);
}完整的代码请下载源码吧。
- 2022-07-05 00:30:40下载
- 积分:1
-
VC++ MFC DLL的创建:显示问候语信息
VC++ MFC DLL的创建:显示问候语信息,运行效果如上图所示。
- 2022-05-21 08:12:16下载
- 积分:1
-
毫秒级定时器 VC范例及源码
VC++编写的毫秒级定时器实例,上一次的终止值变成新的起始值,发送消息通知对话框该更新时间了。
//更新时间
void CMilliSecondDlg::OnUpdateTime()
{
struct _timeb timebuffer;
char *timeline;
//获得毫秒级的时间
_ftime( &timebuffer );
timeline = ctime(&(timebuffer.time));
//格式化时间
m_strTime.Format("当前时间是:%.19s.%hu %s", timeline, timebuffer.millitm, &timeline[20]);
UpdateData(FALSE);
}
- 2023-05-15 18:00:02下载
- 积分:1
-
VC++ 使用right outer join查询SQLServer数据库的例子
VC++ 使用right outer join查询SQLServer数据库的例子,查询结果显示在DATAGRID数据控件中,测试前请确保数据库连接已成功,且数据库非空。窗体界面效果如截图所示,注:测试时数据库连接失败,这是测试电脑的问题。
- 2023-03-02 00:25:04下载
- 积分:1
-
VC++ 遍历记录集的实现方法和代码
VC++ 遍历记录集的例子,需要数据库配合,核心代码如下:
//连接数据库
OnInitADOConn();
//设置查询字符串
_bstr_t bstrSQL = "select * from employees order by 员工编号 desc";
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
//遍历记录集
while(!m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,"");
m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));
m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));
m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));
m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));
//将记录集指针移动到下一条记录
m_pRecordset->MoveNext();
}
//断开数据库连接
ExitConnect();
- 2022-09-02 14:45:03下载
- 积分:1
-
VC++ 源码演示雷达工程数据的可视化与处理
VC++综合实例源码,演示雷达工程数据的可视化与处理,这个源代码来自一本VC++书籍中,不知道现在是否还可以用,里面雷达测试文件,不过我没有调试成,源代码文件是比较完整的,大部分代码中都有注释,你可以了解一些关于雷达数据读娶界面标尺运用、鼠标操作控制、坐标的显示与控制、映射模式(像素)、鼠标位置标识、BMP格式重新排列数据、滚动窗口、内存控制等多个方面的操作技巧,是一个比较综合的VC++学习实例。
- 2023-03-01 01:05:04下载
- 积分:1
-
多任务多线程断点续传源代码
VC++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
- 2022-03-21 18:31:32下载
- 积分:1
-
VC6.0合并结果集进行查询的方法源码演示
VC6.0合并结果集进行查询的方法源码演示,合并多个数据集的查询,具体到本例子中,就是合并人员表和学生信息表中编号,姓名,年龄字段的结果,然后再进行需要的查询,查询结果绑定在DataGridView控件中显示。
本例需要配合SQLSERVER数据库,需要自行准备测试数据库,并附加和连接好。调试界面如截图所示。
- 2023-04-29 06:35:03下载
- 积分:1