-
VC++ 查询数据库中指定时间段内的数据
VC++ 查询数据库中指定时间段内的数据,为了避免时间段的输入格式出错,这里使用了日期选择器控件,用户可通过日期控件来选择起止时间,查询结果显示在DateGirdview控件中。本功能顺利测试需要自行配置数据库,最终运行效果请参见截图。
- 2023-03-19 16:35:03下载
- 积分:1
-
VC++ 自定义每个Tab内的Dlg效果
VC++ 创建窗体的Tab,为每一个TAB页创建不同的Dlg,如图所示,每一个TAB内有可能是一张图片,也有可能是一个登录界面或一个Combobox,或者是一个树形菜单,总之,每个TAB除了隔离显示内容外,还自定义了多种形式的数据,增加了TAB窗口的实用性,最终运行效果请参见截图所示。
- 2022-08-21 06:29:38下载
- 积分:1
-
VC++ 静态分割窗口,实现窗口的任意切分
VC++ 6.0 自定义SplitWndView函数,静态分割窗口,实现窗口的任意切分,本实例中将一个完整的VC++ Windows分隔成四个小窗口,类似于WEB开发中的iFrame框架,每个分栏框架都可以用鼠标拖动分隔区域的大小,为了区分源码中函数与实际分隔效果的查看,每个视图小空格中都有文字标注。
在一些综合性的信息管理系统中,有时候需要窗口分成区域来显示内容,本实例所演示的窗口分割,就是一个很好的例子。
- 2022-11-16 09:35:03下载
- 积分:1
-
VC++在视图中使用鼠标进行绘图操作(涂鸦)
VC++ ——在视图中使用鼠标进行绘图操作(涂鸦),按下鼠标左键,载入"十字"光标,移动鼠标即可实现绘制图形,但窗口不能自动重绘,定义各变量及具体实现:
void CBaseDocViewDemo1View::OnLButtonDown(UINT nFlags, CPoint point)
{
SetCursor(m_Hcursor);//使用新光标
m_bDraw=TRUE;//进入绘图状态
m_pOld=point;
SetCapture();//捕捉鼠标
CRect rect;
GetClientRect(&rect);//获取客户窗口矩形区域
ClientToScreen(&rect);//转换为屏幕坐标
ClipCursor(rect);//限定鼠标不能移出客户窗口
CView::OnLButtonDown(nFlags, point);
}
void CBaseDocViewDemo1View::OnLButtonUp(UINT nFlags, CPoint point)
{
m_bDraw=FALSE;//取消绘图状态
ReleaseCapture();//释放鼠标捕捉
ClipCursor(NULL);//取消鼠标区域的限制
CView::OnLButtonUp(nFlags, point);
}
- 2023-04-03 12:40:04下载
- 积分:1
-
VC++ ChatRoom聊天室(客户端+服务端)
VC++ 聊天室(客户端+服务端),CS架构的ChatRoom聊天源码,服务端用来创建公共的聊天服务,比如创建用户列表、显示聊天消息、监控用户数量和在线人数;客户端是提供给用户使用的真正聊天程序,可完成大部分的聊天操作,比如发送聊天内容、选择私聊对象、查看聊天黑名单、设置加密传输消息、设置加密密钥、密文、选择发送表情、自定义昵称等功能。聊天窗口通过调主对话框的成员函数GetMessage来显示聊天信息,当用户数增加时,播放欢迎音乐,当用户数减少时播放离开音乐。
源代码部分,请参照源码目录中命名的文件夹,查看对应功能。
- 2022-03-02 10:15:20下载
- 积分:1
-
VC++ 首字母大写自动转换源码
VC++拼音首字母大写自动转换程序,获取汉字的拼音首字母,并把首字母转换成大写,这是个VC.NET程序,我电脑上暂时没有编译环境,没有抓到截图,部分代码如下:
class CUpperFirstLetterApp : public CWinAppEx
{
public:
CUpperFirstLetterApp();
// 重写
public:
virtual BOOL InitInstance();
// 实现
DECLARE_MESSAGE_MAP()
};
- 2022-04-18 02:09:56下载
- 积分:1
-
VC Calendar 自定义的日历选择插件
VC++ 6.0 Calendar 自定义的日历选择插件,这个功能相信大家都比较熟悉了,是用来选择日期和时间的,避免用户输入出错,选择后可把数据填充在指定的文本框内,或提交至下一个数据处理环节。这个例子是前两年的,风格和Windows XP相似,与Windows7和10版本有所区别,核心代码为:
//设置选择日期
void CCalendarDlg::OnSetCursel()
{
//更新变量
UpdateData(TRUE);
//构造日期变量
CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0);
m_MonthCalCtrl.SetCurSel(tm);
}
//设置日期
void CCalendarDlg::OnSetToday()
{
//更新变量
UpdateData(TRUE);
//构造日期变量
CTime tm(m_nYear,m_nMonth,m_nDay,0,0,0);
m_MonthCalCtrl.SetToday(&tm);
m_MonthCalCtrl.SetCurSel(tm);
}
- 2022-01-25 19:36:09下载
- 积分:1
-
vc 串口接收和发送数据的例子 Cs结构
这是一个CS结构(包括了服务端和客户端)的串口调试程序,测试时,两者都要运行,本程序可让你熟悉串口的相关操作,在客户端和服务端,您都要定义以下几个参数:
m_Comm.SetCommPort(1); //设置串口
m_Comm.SetRThreshold(1); //设置收到多少个字符后触发OnComm事件
m_Comm.SetPortOpen(TRUE); //打开串口
源码中包括了两部分的代码,请下载后编译对应目录中的源码,先运行客户端。
- 2022-02-06 06:48:34下载
- 积分:1
-
VC++ 数据库万能打印模块
VC++ 数据库万能打印模块,书中的例子,最终运行效果请参见截图。操作方法:首先在“选择数据库类型”下拉列表中选择数据库类型,这里有两种,Access和SQL Server。选择完数据库后,单击“连接数据库”进入相应的操作界面,选择数据表及字段,单击“确定”按钮,即可进入数据查询页面,在该页面中查以查询数据、打印数据。单击“查询”按钮,打开“查询”模块,单击“打印设置”按钮,打开“设置”模块,这里可以设置纸张,页边距,打印方向,字体,颜色,表格高度,线条宽度等等。单击“打颖按钮,进入打印预览页面,在该页面中单击“打颖按钮,即可打印数据。
详细的代码请下载源码包。
- 2022-01-29 04:39:18下载
- 积分: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