-
VC++ 使用滚动条和进度条进行范围设置
VC++ 使用滚动条和进度条进行范围设置,实现滚动条与进度条的联动,当拖动滚动条时,进度条的进度会随着滚动条的位置变化而变化,适时显示进度状态。除了水平的滚动条外,右侧是一个垂直纵向的滚动条和进度条,具有同样的功能,很好的模拟了两者的联动。
编写代码时,可以这样定义滚动条和进度条的参数:
m_crlScrollH.SetScrollRange(0,100);//设置水平滚动范围
m_crlScrollV.SetScrollRange(0,100);//设置垂直滚动范围
m_crlScrollH.SetScrollPos(0);//设置水平滚动控件初始值
m_crlScrollV.SetScrollPos(0);//设置垂直滚动控件初始值
m_ctlProgressH.SetRange(0,100);//设置水平进度条的范围
m_ctlProgressV.SetRange(0,100);//设置垂直进度条的范围
m_ctlProgressH.SetPos(0);//设置水平进度条的初始位置
m_ctlProgressV.SetPos(0);//设置垂直进度条的初始位置
以上代码并不是完整的,完整代码请下载源码包。
- 2022-04-27 16:24:44下载
- 积分:1
-
用VS2008+ATL开发可以显示Gif的ActiveX控件源码
VS2008%2BATL开发Gif的ActiveX控件%28毛坯%29
创建一个空的解决方案,名称GifSolution。将来包含控件项目和测试项目。新建项目,弹出的对话框中选ATL项目,名称为GifAnimate确定。弹出的对话框中选择DLL服务器(可选允许合并代理存根,这样不会产生代理dll),完成后编译,这样工程框架就完成了。
组件分有窗口的和无窗口的,这里应该用有窗口的,所以添加组件的时候,外观不要基于none,最好基于CStatic。因为gif是动态的,应该用另一个线程绘制,这样不影响主线程响应消息,绘图更加流畅。
为GifAnimate项目添加类-选择ATL控件,点击添加,弹出对话框。
1.本文只是举例说明开发过程,抛砖而已。
2.样例只是框架,不能直接使用,所有代码没有经过测试
3.样例接收器GifSink和属性页卡片没有完成,懒了,呵呵
4.样例背景等很多属性没有实现
5.使用了GDI+,但GDI+的Image类的SetActiveFrame函数有问题,网上貌似没有解决办法。Debug版本不影响使用,Release版本没有测试。如果有兴趣,可以使用IPicture接口,网上很多。
- 2022-03-31 20:14:24下载
- 积分:1
-
VC++ 显式链接:关闭计算机
VC++ 显式链接:关闭计算机,制作一个竖长形的窗口,功能包括了关机、重启、注销、锁机等功能。
- 2023-05-28 20:55:03下载
- 积分:1
-
VC++ MDI多文档位图的复制和粘贴功能实现
多文档(MDI):实现在多个文档中位图的复制和粘贴操作,使用说明:打开一个图像,使用“编辑”菜单中的“复制”和“粘贴”对图像进行操作,清除剪切板的内容,拷贝DIB!
CMDICopyBitmapDoc* pDoc = GetDocument();
pDoc->ReplaceHDIB(hNewDIB); // 释放旧的DIB
pDoc->InitDIBData(); // 建立新的调色板及尺寸
pDoc->SetModifiedFlag(TRUE);
SetScrollSizes(MM_TEXT, pDoc->GetDocSize());
OnRealizePal((WPARAM)m_hWnd,0); // 实现新的调色板
pDoc->UpdateAllViews(NULL);
- 2022-01-25 22:15:31下载
- 积分:1
-
华南理工大VC++ 实验报告:学生信息管理系统 附文档
华南理工大软件学院2016级VC++ 实验报告:学生信息管理系统 附文档,这套系统的功能分为两部分,学生部分和教务管理员部分。包括系统功能模块划分;类体系设计,即主要数据和函数功能描述;界面设计等。
1)学生功能:查看信息:个人基本信息,课表,成绩表等内容
修改信息:可修改个人基本信息
2)教务员功能: 查看信息:学生个人基本信息、课表、成绩等内容
修改信息:学生个人基本信息、课表、成绩等内容
添加学生信息:学生个人基本信息后对同班级同年级的学生进行成绩表和课表的初始化
删除学生全部信息
展示同专业同年级学生的基本信息
对同专业同年级的学生的各科成绩进行排名
3)其他功能:分文件储存不同专业不同年级学生的信息资料,方便信息的处理
添加新年级和专业的数据并初始化
各模块说明:
1)基本信息类:个人基本信息,信息的生成和获取
2)学生信息类:继承于基本信息类,增加学生特有的信息,信息的生成和获取,
- 2022-03-16 11:59:31下载
- 积分:1
-
VC6.0 使用信号量Semaphore实现线程的同步
VC6.0 使用信号量Semaphore实现线程的同步,使用信号量实现线程同步,设置访问保护对象的最多线程数为2,确定当前已经启动运行的线程数目,可以创建线程。
CWinThread* pThread=AfxBeginThread(ThreadProc,&m_Edit);//开辟一个工作线程,
int thread=0;//全局变量记录当前运行线程的数目
CSemaphore mySemaphore(2,2);//创建CSemaphore类对象
UINT ThreadProc(LPVOID pParam)//工作线程入口函数
{
CEdit *pedit=(CEdit*)pParam;
CString str;
thread++;//线程数目加1
str.Format("%d",thread);
pedit->SetWindowText(str);//编辑框显示
CSingleLock singlelock(&mySemaphore);//创建CSingleLock类对象
singlelock.Lock();//计数器初始值减1
MessageBox(NULL,"信号量控制访问资源线程数","提示",MB_ICONWARNING);//弹出对话框
thread--;//线程数目减1
str.Format("%d",thread);
pedit->SetWindowText(str);//编辑框显示
return 0;
}
- 2022-02-20 19:37:49下载
- 积分:1
-
VC++自定义鼠标击键(点击)的声音
VC++自定义鼠标击键声音,包括单击鼠标左键和右键的声音信息,一般情况下,Windows系统中有内置的声音,本程序是修改掉默认的单击声,改为自定义的,想熟悉修改过程的,可下载本源码参考。
运行本程序后,在窗口空白处单击鼠标左键或右键会出现与系统不一样的叮咚声音。
- 2022-03-25 07:58:00下载
- 积分:1
-
vc++ 弹窗拦截程序-阻止创建窗口源码
VC6.0阻止弹窗程序 弹窗免疫,阻止创建窗口,基于MFC实现,本弹窗拦截程序主要是根据窗口标题来阻止的,启动程序后在编缉控件中输入窗口标题,如果要输入多个就用空格或回车隔开,然后按开始就可以在以此为标题对话框在刚建立时就被自动关闭,就像没看到它们出现一样.
如果要阻止所有窗口,可以去Hook类中把 WM_INITDIALOG改为WM_CREATE就可以了.这个程序主要用于学习,并没有为实际使用而做过多改善。
- 2022-03-26 04:43:26下载
- 积分:1
-
VC++ 创建MFC工作者线程,进行耗时计算
VC++ 创建MFC工作者线程,进行耗时计算,时间显示为一个线程,另外用户可通过菜单中创建一个进度条演示的工作者线程,运行效果如图所示,创建工作者线程相关定义代码:
memset(&font,0,sizeof(LOGFONT));//为字体结构赋初值,默认值
font.lfHeight=30;//字体高度为50
font.lfWeight=600;
strcpy(font.lfFaceName,"Arial");
myfont.CreateFontIndirect(&font); //创建新字体
oldfont=dc.SelectObject(&myfont);//将新字体选入设备环境*/
CTime m_time;
m_time=CTime::GetCurrentTime();//获取当前时间日期
CString str=m_time.Format("当前时间:%H:%M:%S");//格式化
dc.TextOut(20,20,str);//显示时间
dc.SelectObject(oldfont);//恢复设备环境中的旧字体
- 2022-02-11 23:05:26下载
- 积分:1
-
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