-
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++windows大作业源码-猜数字游戏
VC++ Windows课程设计源码作品:传统的猜数字游戏,编程学院大作业完整源代码。本游戏步骤:
分别在四个文本框内输入四个不同的四位数
按猜数字键猜测,得到结果,点答案键出答案,当4个文本框内的数字和位置都正确游戏胜利,自动进入下一轮答题,技巧:
玩家可以根据提示推断数字:
例 正确2个错误2个 说明有2个数字和位置都正确,2个数字正确但位置不正确
正确0个错误4个 说明有0个数字和位置都正确,4个数字正确但位置不正确
特色: 机器可以根据猜测的命中率不同显示不同的话
看完答案再答题会怎样呢? 试试就知道了~
- 2023-06-14 23:05:04下载
- 积分:1
-
VC++ 音乐播放器 源代码
VC++ 音乐播放器 例子,支持播放列表 ,支持常规的播放控制,自制了界面,从这个播放器软件中,你可以学习到软件界面方面的编写技巧以及音乐播放方面的技巧,运行效果如下图所示。本源码对学习VC++软件编程有很好的借鉴作用。
- 2022-05-20 10:54:09下载
- 积分:1
-
VC++ DirectShow开发指南源码集
VC++ DirectShow开发指南源码集,涉及的内容几乎涵盖了在Windows平台上使用DirectShow进行C++编码的方方面面。全书详细介绍了DirectShow的基础知识,重点讨论了Filter的开发,以及DirectShow
应用程序的开发,包括目前非常流行的如音视频采集、数码摄像机的支持、非线性
编辑等应用,深入分析了DirectShow SDK提供的部分典型源代码例子,结合作者个人的一些开发实践,通过案例和开放源码分析,进一步介绍DirectShow的实务应用。
此为本书的配套源码集,对VC++编程者来说,是比较不错的编程资料。
- 2022-02-15 05:44:18下载
- 积分:1
-
VC++ 获取主机名和IP地址及多线程运行示例
VC++6.0获取主机名和IP地址,并演示多线程的运行示例,作者:fiwen。
获取IP地址是单击窗口右上角的“获缺按钮,即可显示主机名称和该机IP地址,多线程运行演示则打开后程序立即运行,左右两侧不同的线程,执行不同的任务,各自互不影响。
多线程演示部分,分别用了两个线程,每一个线程控制一个do while循环来运行,比如其中一个线程是这样写的:
CString str;
bool ReadData= TRUE;
int i=1;
do
{
//从1到99的平方
str.Format("%-3d的平方:%-5d",i,i*i);
pList->AddString(str);
Sleep(100);
i++;
}
while (ReadData=TRUE);
return 0;
- 2022-01-20 22:35:47下载
- 积分:1
-
VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化
VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化,这个具体点就是,窗口中的边框和按钮等元素,会随着窗口的变大自动变大,并保持原有的比例,调用了CSelfResizeWindow::Rectify()来实现,我觉得是个很实用的窗体设计技巧。关于本源代码的几点说明:
自定义类CSelfResizeWindow实现窗口和控件的自适应,根据屏幕尺寸调整大校
使用步骤 :
1. 使需要自适应的窗口类继承于类CSelfResizeWindow,在OnInitDialog()中调用
__super::Init(this, 1, 3000);(其中1和3000是资源ID的范围,在Resource.h
中用宏定义的,Init函数的参数根据情况确定。)
2. 给窗口类添加OnSize()消息响应函数,在OnSize()函数
中调用__super::Rectify();即可。
- 2023-01-25 01:40:04下载
- 积分:1
-
VC++ 表格式简历打印的实现
本源码演示在VC++中打印简历模板,是一个采用表格设计的简历界面,VC++将按设计的模式打印出来,就像使用Word打印一样的功能。
以下代码可作为参考:
//获取位图所有数据
m_bitdata = m_pRecord->GetFields()->GetItem((long)9)->GetChunk(m_factsize);
HBITMAP m_hmap ;
if (m_bitdata.vt==VT_ARRAY |VT_UI1)
{
//定义一个数据缓冲区
m_bitbuffer = new char[m_factsize];
//将m_buffer指向m_bitdata
SafeArrayAccessData(m_bitdata.parray,(void**)&m_buffer);
//复制位图数据到m_bitbuffer;
memcpy(m_bitbuffer,m_buffer,m_factsize);
SafeArrayUnaccessData(m_bitdata.parray);
void* m_factbitdata ; //实际的位图数据
//temp指向位图信息头
temp = m_bitbuffer+sizeof(BITMAPFILEHEADER);
BITMAPINFOHEADER * m_bitheader = (BITMAPINFOHEADER*)temp;
//获取位图信息,它包括位图信息头和调色板
BITMAPINFO* m_bitinfo = (BITMAPINFO*)temp;
//获取位图的实际数据
m_factbitdata = (void*)(m_buffer+((LPBITMAPFILEHEADER)m_bitbuffer)->bfOffBits);
CClientDC m_dc(this);
//创建位图
hbitmap = CreateDIBitmap(m_dc.m_hDC,m_bitheader,CBM_INIT,m_factbitdata,m_bitinfo,DIB_RGB_COLORS);
delete [] m_bitbuffer;
}
- 2022-07-02 18:31:16下载
- 积分:1
-
VC++6.0 执行数据库事务的范例
在VC++6.0程序中执行数据库事务的一个范例,是一个数据库的高级应用例子,关于设置ADO控件,方法如下:
(1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_AFFAIR_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。
(2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
- 2022-07-23 05:48:05下载
- 积分:1
-
端口扫描VC6.0程序示例
扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。
- 2022-10-09 07:35:03下载
- 积分: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