-
VC++ 6.0 使用消息实现线程通信
线程通信:使用消息实现线程通信,一个了解多线程与消息通信的例子,以下是实现的主要代码:
LRESULT CThreadCommunicationDlg::OnDisplayResult(WPARAM wParam,LPARAM lParam)
{
int nResult = (int)wParam;
SetDlgItemInt(IDC_STATIC_RESULT,nResult,FALSE);
return 0;
}
void CThreadCommunicationDlg::OnButtonCalculate()
{
m_pCalculateThread=
(CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));
Sleep(200);
m_pCalculateThread->PostThreadMessage(WM_CALCULATE,m_nLastOperand,NULL);
}
完整的源代码请下载本源码包。
- 2022-02-02 07:06:27下载
- 积分:1
-
VC++ 6.0 改变视图窗口的背景色
VC++ 改变视图窗口的背景色,在窗口的显示区自定义颜色,有兴趣可参考以下代码:
void CFaceControl1View::OnChageviewbk() //改变背景色
{
m_rgbBack=RGB(0,128,128);
Invalidate(true);
}
BOOL CFaceControl1View::OnEraseBkgnd(CDC* pDC)
{
CBrush Brush (m_rgbBack);// 创建一个新的刷子
CBrush* pOldBrush = pDC->SelectObject (&Brush);// 把刷子选入设备环境
//获得需要檫除背景的区域
CRect reClip;
GetClientRect(&reClip);
//重绘该区域
pDC->PatBlt(reClip.left , reClip.top , reClip.Width () , reClip.Height() , PATCOPY);
//释放刷子
pDC->SelectObject (pOldBrush);
return TRUE;//必须返回TURE
}
- 2022-08-04 05:28:13下载
- 积分:1
-
VC++三种直线扫描转换算法范例演示
本源码演示了三种VC++直线扫描转换算法,这3种方式是:bresenham方法、数值微分法、中点画线法。本程序同时是一个MFC单文档程序,进行直线段扫面转换算法的算法验证。
1.使用Wizard建立单文档程序;
2.绘制20*20的网格线,格子X和Y方向间隔均为20像素,网格起始坐标在(20,20)。我们使用此网格模拟像素矩阵(),格子交叉点是像素中心。
3.输入直线段两端点,可使用以下两种方法之一:
a)对话框输入
b)鼠标在网格内以鼠标左键按下-拖动-抬起方式输入。注意:直线段两端点要自动取整到模拟的像素中心位置
4.进行直线段扫描转换,通过点击鼠标右键调用方式或者菜单调用的方式执行。计算完成后,将扫描转换结果,在模拟的像素矩阵中,使用圆形显示出来。
通过这个实验,我们可以熟悉扫描的算法,其中要注意的是判断直线的斜率,分情况处理竖直直线段、斜率绝对值大于1、斜率绝对值小于1的情况,这部分需要花费一些时间去算。总之还是对扫描算法的理解和编程基矗
- 2022-03-19 09:46:38下载
- 积分:1
-
VC++ 自定义每个Tab内的Dlg效果
VC++ 创建窗体的Tab,为每一个TAB页创建不同的Dlg,如图所示,每一个TAB内有可能是一张图片,也有可能是一个登录界面或一个Combobox,或者是一个树形菜单,总之,每个TAB除了隔离显示内容外,还自定义了多种形式的数据,增加了TAB窗口的实用性,最终运行效果请参见截图所示。
- 2022-08-21 06:29:38下载
- 积分:1
-
VC++ 6.0通过消息机制实现进程间的通信
VC++ 6.0通过消息机制实现进程间的通信,这个实例写了两个子程序,一个是发送消息端,一个是接收消息端,接收端主要是接收其他进程向该窗口发送的消息,发送消息端获取目的窗口对象,向窗口“MYRECEIVER”发送自定义消息,若接收端没上线,则会使用AfxMessageBox弹出提示("没有找到MYRECEIVER窗口!"),更多源代码细节,请参考压缩包中的对应文件,最终的运行效果请参见截图所示。
- 2022-10-26 09:30:07下载
- 积分:1
-
vc++ 动画启动、关闭窗口并添加位图背景
vc++ 动画启动、关闭窗口并添加位图背景,加载位图,创建位图画刷,设置背景颜色模式为透明色,使用位图背景,且实现动画显示和关闭窗口,在窗口关闭时,同样以动画的方式结束。
void CMainFrame::OnClose()
{
AnimateWindow(GetSafeHwnd(),800,AW_CENTER|AW_HIDE);//在窗口关闭时,同样以动画的方式结束
CFrameWnd::OnClose();
}
- 2022-01-25 22:51:13下载
- 积分: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++ 使用CDib类实现显示与保存BMP文件
VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:
m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像
if(m_hDIB==NULL)
{
AfxMessageBox("图像格式不正确!");// 提示出错
return FALSE;
}
SetDib();// 初始化DIB
if (m_hDIB == NULL)// 判断读取文件是否成功
{
AfxMessageBox("读取图像时出错");// 提示出错
return FALSE;// 返回FALSE
}
SetPathName(lpszPathName);// 设置文件名称
SetModifiedFlag(FALSE);// 初始化脏标记为FALSE
return TRUE;// 返回TRUE
- 2022-02-26 00:19:37下载
- 积分:1
-
VC 电话录音的实现
这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话的三种状态,即:内线、外线、悬空。在外线来电话状态,可以启动录音程序,摘机,开始录音,挂机停止录音,录音过程中判断电话是否挂机,双保险。
- 2023-06-20 11:50:03下载
- 积分:1
-
VC++ 删除已存在的存储过程
VC++ 演示在程序中删除已存在的存储过程,VC6存储过程相关操作实例,删除方法很简单,创建对象,如下代码示:
UpdateData(true);
BOOL result;
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
_bstr_t sql;
sql = "drop procedure "+m_edit+" ";
result = m_AdoConn.ExecuteSQL(sql);
m_AdoConn.ExitConnect();
if(result)
MessageBox("存储过程已删除!");
else
MessageBox("存储过程不存在!");
- 2022-12-24 15:50:03下载
- 积分:1