-
VC++ 多文档程序实现为新建的文档设置显示字体
VC++ 多文档程序实现为新建的文档设置显示字体,m_str="多文档应用程序实例!";//输出文本
CFontDialog dlg;//字体对话框
dlg.GetCurrentFont(&m_lf);
if(dlg.DoModal()==IDOK)//显示对话框
dlg.GetCurrentFont(&m_lf);//获取用户设置的字体信息
return TRUE;
CString str=pDoc->m_str;//获取输出文本
LOGFONT lf=pDoc->m_lf;//获取字体结构
CFont *pFont=new CFont;
pFont->CreateFontIndirect(&lf);//创建字体
CFont *poldFont=pDC->SelectObject(pFont);//载入DC
pDC->TextOut(40,40,str);//输出文本
pDC->SelectObject(poldFont);//恢复字体
- 2022-12-19 01:50:03下载
- 积分:1
-
VC++ ado 登录模块实现范例
VC++ ado 登录模块实现范例,因为使用ADO模块,所以要先初始化COM组件库,然后调用ADO库连接数据库,读取用户名密码是否与数据库的相符,相符则登录成功,不相符则弹出提示信息。本源码比较简单,演示了基本的基于数据库的用户名和密码判断程序,面向VC++初学者吧。
- 2023-03-17 05:10:03下载
- 积分:1
-
VC6.0 对画图文档实行序列化处理
VC6.0 文档序列化实例——对画图文档实行序列化处理,文挡之序列化(Serialize)读写例子,代码翻译:一剑。
// 打印带水平线的文档名字
pDC->SetTextAlign(TA_LEFT);
pDC->TextOut(0,-25, strHeader); // 1/4 inch down
// 在文档头的下面画一条直线横穿页面
TEXTMETRIC textMetric;
pDC->GetTextMetrics(&textMetric);
int y = -35 - textMetric.tmHeight; // 横线在距离文本下方1/10 英寸处
pDC->MoveTo(0, y); // 从左边空白处
pDC->LineTo(pInfo->m_rectDraw.right, y); // 到右边空白处
y -= 25;
pInfo->m_rectDraw.top += y;
- 2023-04-28 14:50:03下载
- 积分:1
-
VC6.0 多表分组统计查询销售数据
VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。
提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
- 2023-02-05 17:45:03下载
- 积分:1
-
VC 6.0 示波器源码
一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
- 2022-10-20 06:05:04下载
- 积分: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++ ——在视图中使用鼠标进行绘图操作(涂鸦),按下鼠标左键,载入"十字"光标,移动鼠标即可实现绘制图形,但窗口不能自动重绘,定义各变量及具体实现:
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++基本鼠标操作——判断鼠标消息
VC++基本鼠标操作——判断鼠标消息,操作方法:按下鼠标左键,移动鼠标即可绘制椭圆,直至释放左键!
void CBaseMouseDemoView::OnMouseMove(UINT nFlags, CPoint point)
{
if(bDrag)
{
ptUp=point;//记录鼠标的当前位置
DrawCircle();//画新圆
}
CView::OnMouseMove(nFlags, point);
}
void CBaseMouseDemoView::DrawCircle()
{
Invalidate(false);
CClientDC dc(this);//获取DC
CRect rect;
GetClientRect(rect); //获取客户窗口区域
CBrush brush(RGB(255,255,255));
dc.FillRect(rect,&brush);//填充背景色为白色
dc.Ellipse(ptDown.x,ptDown.y,ptUp.x,ptUp.y);//绘制矩形
}
- 2022-03-19 16:04:24下载
- 积分:1
-
VC++ 6.0 启动画面编程实例
VC++ 6.0 启动画面编程实例,现在这种软件启动方式比较常见了,打开软件 后,先显示一个启动画面,同时程序开始载入,显示进度条,本例子我觉得演示的挺好,源代码编译环境:vc++6.0,运行截图:请参见测试截图。
- 2022-03-18 03:56:27下载
- 积分:1
-
VC++ 字体处理:创建4种类型的字体
VC++ 字体处理:创建4种类型的字体,第一种方法:使用CreateFontIndirect创建字体,第二种方法:使用CreateFont创建字体;第三种方法:使用CreatePointFontIndirect创建字体;第四种方法: 使用CreatePointFont创建字体;
- 2022-03-24 01:42:11下载
- 积分:1