-
VC++ 非模态对话框与应用程序之间的数据交换
VC++ 6.0演示非模态对话框与应用程序之间的数据交换的实现过程,单击鼠标右键弹出非模态对话框!实现非模态对话框的数据交换!在示例中,用户在窗口中单击鼠标右键,所弹出的颜色设置对话框,就是一个非模态对话框,设置颜色后,将值传回到主窗口。
pDialog->ShowWindow(SW_HIDE);//隐藏对话框
CRect dlgRect;
pDialog->GetWindowRect(&dlgRect);//获取对话框窗口大小
ClientToScreen(&point);//将鼠标位置转换为屏幕坐标
//移动对话框窗口
pDialog->MoveWindow(point.x, point.y,dlgRect.Width(),dlgRect.Height());
//将当前画刷的值赋予对话框变量
pDialog->m_blue=b;
pDialog->m_green=g;
pDialog->m_red=r;
pDialog->UpdateData(false);//更新控件
pDialog->ShowWindow(SW_SHOW);//显示对话框
CView::OnRButtonDown(nFlags, point);
另外还有获取非模态对话框设置的颜色值、获取视图等功能,请下载本实例源码包。
- 2022-08-07 22:51:14下载
- 积分:1
-
VC 区域放大图像 鼠标位置放大
VC++实现一个图片区域的放大,当鼠标悬停于图片的某一处时,放大显示该区域的图像,不过测试切现,本程序同时也可缩小图片,不过操作体验方面还需要改进,初始化时,按原来大小显示位图,鼠标移动的位置激活时,计算要放大的局部矩形的源图像位置和目标位置。如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数大于5,就继续减小放大倍数,然后进行放大显示,如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数小于150,就继续增加放大倍数,然后进行放大显示。
- 2022-08-08 13:50:08下载
- 积分:1
-
VC 创建内存映像文件对象并使用
VC++6.0 创建内存映像文件对象并使用,实现了写入内存映射文件和从内存映射文件中读取数据,比如将数据从内存映射文件读出,实现方法如下:
void CFileMapTransTxtDlg::OnRead()
{
//创建内存映像对象
HANDLE hMapping;
LPSTR lpData;
hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0x100,"MYSHARE");
if(hMapping==NULL)
{
AfxMessageBox("CreateFileMapping() failed.");
return;
}
//将文件的视图映射到一个进程的地址空间上,返回LPVOID类型的内存指针
lpData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);
if(lpData==NULL)
{
AfxMessageBox("MapViewOfFile() failed.");
return;
}
//给这段映像内存的数据赋给本地变量
m_strDest.Format("%s",lpData);
//释放映像内存
UnmapViewOfFile(lpData);
//更新数据
UpdateData(FALSE);
}
- 2022-05-17 02:25:47下载
- 积分:1
-
VC 结合定时器隐藏进程一定时间
VC++ 隐藏进程,这个例子结合了计时器来实现,不是永久隐藏,是隐藏进程一定时间,根据定时器返回的时间,重新显示进程。
要实现这个过程,可编写以下代码:
LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;
//加载RegisterServiceProcess函数所在的链接库
hDLL = LoadLibrary("KERNEL32");
//得到RegisterServiceProcess函数的地址
lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL, "RegisterServiceProcess");
//执行RegisterServiceProcess函数,在任务列表中隐藏程序
lpRegisterServiceProcess(GetCurrentProcessId(),1);
//卸载链接库
FreeLibrary(hDLL);
//设定定时器
SetTimer(0,m_nSeconds*1000,NULL);
//隐藏程序的同时,隐藏窗口
ShowWindow(SW_HIDE);
后续会卸载链接库,请下载源码查看源代码文件。
- 2022-04-17 12:20:46下载
- 积分:1
-
VC++ WeiXinPay微信扫描二维码支付相关源码
VC++ WeiXinPay微信扫描二维码支付相关源码,这是个VC.NET源码项目,使用了qrencode生成了二维码,本微信支付项目功能包括了生成二维码、结果签名验证、下单测试、生成15位随机字符串等,有一些公共支付接口部分,需要用时候,自己修改:
CString g_strAPIKey("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");//*改* 32位的APIkey
CString g_strAppId("xxxxxxxxxxxxxxxxxx");//*改* 用户的APPID 貌似是18位的
CString g_strBody("刘隽曦的支付测试");//*改* 商品名
CString g_strMchId("xxxxxxxxxx");//*改* 商户号貌似10位
CString g_strIp("192.168.0.136");//*改* 本机IP
int g_nTotalFree = 1;//*改*商品价格 分
本源代码仅供支付,有时候微信支付接口在变化,可能会导致程序不可用。
- 2022-03-24 04:25:36下载
- 积分:1
-
VC++自绘窗体完整实例源码
C++自绘窗体的完整代码,为你提供了一个对话框自绘设计方案,代码中的注释非常详细,相信会帮助大家设计好自己的个性窗体。这个自绘窗口是通过加载背景位图来实现的,对BMP位图进行平铺处理,也就是帖图的意思,定义一个位图画刷,选中画刷,然后填充客户区域。在填充的时候,需要判断位图的宽度与窗体边缘的宽度,这里对标题栏、窗体按钮、边框等窗体元素都进行填充处理,代码中有具体的实现过程。
- 2022-02-22 04:29:43下载
- 积分:1
-
又一个简单的VC++ 定时关机功能实现
又一个简单的VC++ 定时关机功能实现,程序运行后屏蔽最大化,将最小化重定向至隐藏窗口,在Windows托盘处显示图标,双击该图标可调用出定时关机设置窗口。具体实现定时关机功能的代码如下:
// 将图标放入系统托盘
TrayNotifyMsg(NIM_ADD, IDR_MAINFRAME, "定时关机");
// 初始化关机时间为23点.
SYSTEMTIME systime;
((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->GetTime(&systime);
systime.wHour = 23;
systime.wMinute = 0;
systime.wSecond = 0;
((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->SetTime(&systime);
// 设定定时器
SetTimer(1, 1000, NULL);
// 显示当前的系统时间
ShowCurrentTime();
return TRUE; // return TRUE unless you set the focus to a control
}
- 2022-02-02 22:49:18下载
- 积分: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++ 使用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 按1:1 按宽度和高度 平铺拉伸放大缩小图片
本程序为VC++缩放图片的小示例,可按宽度、高度、充满、居中显示等多种方式显示图片,具体来说可完成以下放大或缩小图片的功能:
//1:1比例,不放大也不缩小:
void CZoomImgDemoDlg::On11()
{
m_wndImage.SetStrechType(STRECH_1_1);
}
//按宽度放大:
void CZoomImgDemoDlg::OnFullX()
{
m_wndImage.SetStrechType(STRECH_FULL_X);
}
//按高度
void CZoomImgDemoDlg::OnFullY()
{
m_wndImage.SetStrechType(STRECH_FULL_Y);
}
//充满窗口
void CZoomImgDemoDlg::OnFull()
{
m_wndImage.SetStrechType(STRECH_FULL);
}
//居中显示,大小为窗口的一半
void CZoomImgDemoDlg::OnCenter()
{
m_wndImage.SetStrechType(STRECH_CENTER);
}
- 2022-01-28 02:37:20下载
- 积分:1