-
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++ 创建WinExample和MFCExample窗口程序演示
VC++ WinExample和MFCExample程序演示,是创建此两类程序的演示,一种是使用WINAPI的方式 创建程序窗口,另一种是采用MFC方式创建窗口,下面列举一上结使用WINAPI方式创建窗口的具体代码,完整代码请下载本源码。
// 创建窗口
hWnd = CreateWindow("HelloMsg",// 窗口类名
"我的窗口", // 窗口标题
WS_OVERLAPPEDWINDOW,// 窗口样式
CW_USEDEFAULT,// 窗口最初的x位置
CW_USEDEFAULT,// 窗口最初的y位置
CW_USEDEFAULT,// 窗口的宽度
CW_USEDEFAULT,// 窗口的高度
NULL,// 父窗口句柄
NULL,// 窗口菜单句柄
hInstance,// 应用程序实例句柄
NULL);// 创建窗口的参数窗口消息处理函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_LBUTTONDOWN:// 鼠标左键按下消息
MessageBox(NULL, "欢迎进入Visual C++!", "问候", 0);
break;
case WM_DESTROY:// 窗口销毁消息
PostQuitMessage(0);
break;
default:
// 默认消息处理函数
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0;
}
- 2022-09-16 09:05:03下载
- 积分:1
-
VC++ 通过读写文件实现登录对话框
文件读写:通过读写文件实现登录对话框,执行时将创建 MySaveFile 文件夹,在文件 pwd.ini 中生成密码,并向pwd.ini文件中写入初始密码888. 然后关闭文件,登录时,将读取文件中的内容,并判断用户的输入是否和pwd.ini 文件中存储的用户名和密码一致,从而判断用户是否可以正确登录。
- 2022-06-26 14:35:10下载
- 积分: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
-
VC6.0文本操作:测试鼠标光标所在的Region
VC6.0测试鼠标光标所在的Region,本程序的功能:按下鼠标的左键,测试鼠标光标所在的Rgn,属于文字处理的范畴,使用CreateRectRgn函数初始化一个矩形区域对象,关于几个参数的说明:
0: 表示在矩形区域中,而不在椭圆形区域中
1: 表示既在矩形区域中,又在椭圆形区域中
2: 表示即不在矩形区域中,又不在椭圆形区域中
- 2022-08-13 20:26:03下载
- 积分:1
-
VC 多种进制转换 二进制 十六进制等
VC++ 进制转换,可完成以下转换:转换十进制数,转换二进制数,转换十六进制数,转换十六进制为二进制,转换一位十六进制数为十进制,转换二进制为十六进制,位数不是四的倍数时补齐,每四位二进制数转换为一十六进制数,转换十进制为二进制,转换二进制为十进制等。
- 2022-01-25 23:55:04下载
- 积分: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
-
VC++ 使用WinInet通过HTTP协议读取网上文件
VC++ 6.0 使用WinInet通过HTTP协议读取网上文件
在一个按钮事件中定义了网络连接Session:
CInternetSession httpsession;//定义网络连接Session
CString Line;
CInternetFile* webfile=NULL;//定义一个文件对象指针
UpdateData();
if(m_Url.Left(7)!="http://")//如果地址不含HTTP类型标志则添加本地文件类型标志
读出文件前一部分,如果文件多于80行,三示例中只显示前80行.然后更新显示文件:
UpdateData(FALSE);//更新显示文件
delete webfile;//删除文件
GetDlgItem (IDC_SHOW)->EnableWindow (FALSE);//禁用显示按钮
httpsession.Close();//关闭连接
- 2023-09-07 18:35:03下载
- 积分:1
-
VC 随机数选号程序 源代码
VC 随机数选号程序 源代码,窗口中的每一个文本框对应一个随机数数组,当点击开始按钮后,这些数组各自为战,分别生成不同的随机数,当用户点击停止后,各个文本框中的随机数是不同的,由此可生成一个随机选号程序。
你可学习到生成随机数的线程、更新编辑框数字的线程、生成随机数、开始选号、更新按钮状态等相关的事件处理操作。
- 2022-03-12 18:31:14下载
- 积分:1
-
VC 扫描仪控制程序
这是一个在VC++环境下实现的扫描仪扫描管理程序,用于启动扫描和停止扫描,只是实现基本的扫描仪控制,不过本程序的顺利运行需要扫描仪支持,且是指定型号,窗口中对应的功能,由下面的按钮事件来响应:
开始扫描:
void CScanManageDlg::OnButton1()
{
m_Scan.ScannerAvailable();
m_Scan.OpenScanner();
m_Scan.StartScan();
}
停止扫描:
void CScanManageDlg::OnButton2()
{
m_Scan.StopScan();
}
- 2022-05-27 18:23:01下载
- 积分:1