VC++:鼠标的使用】的更多相关文章

问题描述: 在MFC中绘制数据曲线,通过鼠标滚轮来进行放大缩小操作.在使用滚轮事件时,发现如果数据量较大,会出现卡顿. 解决方案: 鼠标滚轮事件会进行重复绘图,考虑在鼠标滚轮结束之后再重绘: 在鼠标滚轮事件中更新:重绘标识,新坐标轴值,此时时间: 利用OnTimer函数,在重绘标识为真时,判断当前时间与滚轮事件时间的差,超过预定值(比如500ms)就重绘,并置重绘标识为假. 方案待验证.…
长期改变鼠标形状: SetClassLongPtr(GetSafeHwnd(), GCLP_HCURSOR, (LONG)LoadCursor(NULL, IDC_WAIT));//这个是x64下可以使用的 捕捉鼠标: HWND SetCapture( HWND hWnd ); 释放鼠标: BOOL ReleaseCapture( ); 下面是一些鼠标图形的宏定义: IDC_APPSTARTING 带小沙漏的标准箭头 IDC_ARROW 标准箭头 IDC_CROSS 十字光标 IDC_HAND…
VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法. 一般用法步骤: 添加CToolTipCtrl成员变量 m_tt. 在父窗口中调用EnableToolTips(TRUE); 在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTipCtrl::AddTool(pWnd,…
#include <Windows.h> #include <tchar.h> BOOLEAN InitWindowClass(HINSTANCE hInstance, int nCmdShow); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HFONT CreateFont(HDC hDC, int nCharHeight, BOOL bItalic); int WINAPI WinMain(HINSTANCE hI…
在调用Windows API函数SetCursor设置光标时,可能会碰到闪烁的问题:移动鼠标,光标在Class Cursor(即注册窗口类时指定的Cursor)与预设Cursor之间闪烁. 在MSDN上有关SetCursor函数的备注中强调,如果Class Cursor非空,那么每当鼠标移动,系统都会把光标恢复为Class Cursor.为了避免光标闪烁这一问题,必须处理WM_SETCURSOR消息.(MSDN说明) 下面是一个例子:程序在主窗口视图的中间位置绘制RGB条带,当鼠标移动在条带范围…
在初始化中使用下面两行代码 ModifyStyleEx(0, WS_EX_LAYERED); ::SetLayeredWindowAttributes(m_hWnd, RGB(1, 255, 0), 100, LWA_COLORKEY);       //set color transparent,指定透明的颜色 然后在OnEraseBkgnd或者OnPaint中 CRect rect; this->GetClientRect(&rect); dc.FillSolidRect(rect, R…
BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl) //{{AFX_MSG_MAP(CTipListCtrl) ON_WM_MOUSEMOVE() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTipListCtrl message handler…
LRESULT CALLBACK TestProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_LBUTTONDOWN: //左键按下 { SetCapture(hwnd); } break; case WM_MOUSEMOVE: //鼠标按下移动 { if(GetCapture() == hwnd) { //鼠标按下并移动... } } break; case WM_LBUTTONUP:…
HWND h; RECT r1; POINT p;//x,y void ONCE() { h=::FindWindow(NULL,"biaoti"); ::GetWindowRect(h,&r1); //保存当前鼠标指针 //取得当前鼠标位置 GetCursorPos(&p); //设置鼠标指针位置 取坐标:x=273;y=273 //lparam 0x01110111 SetCursorPos(+r1.left,+r1.top); //按下 mouse_event(M…
转载:http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c8115/How-to-Implement-a-Mouse-HoverLeave-Message-on-the-System-Tray.htm 一.托盘图标闪烁 1.准备两张ico图片用来闪烁的时候交换,然后加上一个timer定时器,来控制图片交换的速度. 2.设置一个变量来控制两张图片的显示顺序,最好用bool类型的变量,第一张图片显示后第一张就变为fa…
对话框中的小红线可以被移动的 一.类名是 CBinarizationDlg 二.定义两个变量BOOL m_flag;int nPos;在构造函数初始化m_flag = false;nPos=256;三.响应消息函数三个afx_msg void OnPaint();afx_msg void OnLButtonDown(UINT nFlags, CPoint point);afx_msg void OnLButtonUp(UINT nFlags, CPoint point);afx_msg void…
转载:http://blog.sina.com.cn/s/blog_4ad042e50102dwv0.html 重载DefWindowProc,在里面截获WM_NCLBUTTONDBLCLK消息进行处理:    LRESULT   CDlg::DefWindowProc(UINT   message,   WPARAM   wParam,   LPARAM   lParam)      {    //   TODO:   Add   your   specialized   code   her…
// WindowsProject2.cpp : 定义应用程序的入口点. // /** * 当按下CTRL键时输出信息:CTRL键被压下 * 当按下K键时输出信息:K键被压下 * 当按下CTRL+K键时输出信息:CTRL+K键被压下 */ #include "framework.h" #include "WindowsProject2.h" #define MAX_LOADSTRING 100 #define MAXLINE 1000 //最多行数 #define…
前篇文章:Editplus配置VC++(1) 及相关注意事项 VC++有两个隐含编译选项/d1reportSingleClassLayout和/d1reportAllClassLayout   /d1 reportSingleClassLayout和/d1 reportAllClassLayout或将/改为-都行  比如 cl.exe /d1reportSingleClassLayoutClassName //ClassName前面无空格 //或 cl.exe /d1reportAllClass…
全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态. 在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架.下面将先讨论点击菜单项“View\Full Screen”实现全屏显示的方法,再讲述按“Esc”键后如何退出全屏显示状态. 1) 在CMainFrame类中,增加如下三个成员变量. class CMainFrame :…
系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块.VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的CBitmapButton就可以实现了,以下是效果图: 步骤一:新建基于对话框工程,放置一个按钮,可以适当调整大小,设置其Owner Draw属性为TRUE,右键为按钮添加变量,改变其变量类型为CBi…
之前写的一个VC应用程序,是程序启动时就直接出现在任务栏, 窗体不出现,等用户点击任务栏图标再出现窗口.和一些防火墙什么的软件类似. 这种效果实现并不是很困难的,硬是找不到最好的.为什么呢? 首先,在网络上找到的大部分说法都是: BOOL CBBBApp::InitInstance() { ... m_pMainWnd->ShowWindow(SW_HIDE); // 原来是m_pMainWnd->ShowWindow(SW_SHOW); .... } 这样虽然可以实现效果,但是会在启动瞬间快…
汇编程序结构 一个显示字符串的汇编程序 程序格式 一.模式定义 二.includelib语句 三.函数声明语句 四.数据和代码部分 Visual C/C++环境 建立工程 汇编程序的调试 一.设置断点 二.内存窗口 三.寄存器窗口 四.监视窗口 常用调试命令 字符串输入.输出 printf sprintf scanf 常用Windows API调用 MessageBox 确定函数的声明语句和库文件 读取CPU标识 WinDbg调试工具 实验题:用MessageBox函数显示CPU信息  源自:h…
背景: 由于下位机做的一些东西,总是需要通过上位机来验证,以及为了直观给客户展示下位机的功能,所以时常需要编写一些简单的APP.今天就以VC++6.0为例,简单的记录下该如何快速的创建一个APP. 正文: 首先,本次工程文件名为“GPIOTest”,按照MFC向导一路往下,使用Dialog base窗口,结果会生成三个分类文件夹“Source files”.“Head files”.“Resource files”.具体存放什么就不用说了. 其中会生成三个“.cpp”文件,“GPIOTest.c…
背景 首先还是先声明自己是比较笨的一个人,总是找不到高效的学习方法,目前自己学习Unity3D的方式主要是两种,一种是直接看高质量的源码,另一种是光看不行还要自己动手,自己写一些有代表性的小程序,这也是本文的由来. 诚然,现在已经不是Unity3D发展的黄金期了,很多知识点已经有很多朋友总结分享了,但由于Unity3D的客观性就是依赖插件很厉害,这样就会照成插件满天飞,通用性不强,还有过时的风险,还有就是网上很多朋友发的帖子很多并不是学习总结,只是对于Unity3D IDE的使用及一些API的罗…
VC++实现绘图操作,说白了也就是对API熟练操作了,下面介绍几种绘图 1. 绘制线条 具体实现代码如下: // 鼠标左键按下时的处理函数 void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 originP=point; CEditView::OnLButtonDown(nFlags, point); } // 鼠标左键弹起时的处理函数,Point为弹起时鼠标的点坐标 v…
Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这个问题很复杂,不知道如何下手.本例针对这个问题,介绍一种简单的方法实现文字串的打印功能,读者朋友可以在此基础上稍微改动一下,就可以实现文件.图像的打印功能. 一.实现方法 在Windows操作系统下,显示器.打印机和绘图仪都被视为输出设备,正常情况下,系统默认的输出设备是显示器.要使用打印机,首先需…
1.VS编译链接VC++工程生成文件默认是没有管理员权限的 生成的程序图标是没有盾牌的如图: 如果程序需要在C盘做些写入操作 就必须具有管理员权限 所以需要在工程中进行设置. 注:自己项目的安装程序安装在Win7系统C:\Program Files (x86)下,程序可以正常运行,但在Win10系统下,安装到C:\Program Files (x86)目录下,程序就无法正常运行.猜测win10对安装程序的权限要求更高,所以需要对程序权限进行设置. 工程右键属性 具体如图: 确定后编译链接 生成的…
目录 第1章调试说明    1 1.1 调试设置    1 1.2 跟踪代码    2 1.3 断点    2 第2章模块生命周期    4 2.1 exe模块    4 2.2 dll模块    5 第3章调试WinCE程序    7 3.1 部署附加文件    7 3.2 共享文件夹    8 第1章调试说明 1.1 调试设置 使用Visual C++ 6.0打开一个项目,然后按下F5键即可开始调试程序.其实质就是启动VC++调试器,加载exe文件.具体加载哪个exe文件呢?请参考下面的项目…
目录 第1章编译    2 1.1 简介    2 1.2 下载    3 1.3 解决方案    4 1.4 创建项目    5 1.5 复制文件树    6 1.6 不使用预编译头文件    8 1.7 包含目录    9 1.8 定义宏    10 1.9 编译前事件    11 1.10 修改 obj 的位置    13 1.11 编译yasm    14 1.12 编译汇编代码    15 1.12.1 Custom Build    15 1.12.2 .rules文件    17…
目录 第1章简介    1 第2章版本1.2.3    2 2.1 编译汇编代码    2 2.1.1 32位汇编    2 2.1.2 64位汇编    5 2.2 Visual C++ 6.0    5 2.2.1 编译配置项    6 2.2.2 宏ASMV和ASMINF    6 2.2.3 排除编译    8 2.2.4 自定义编译    8 2.3 Visual C++ 2002    9 2.3.1 编译配置项    10 2.3.2 宏ASMV和ASMINF    11 2.3.…
目录 第1章 VC++6.0    1 1.1 设置依赖关系    1 1.2 编译顺序    2 1.3 自动连接    3 1.4 静态库    3 1.4.1 嵌入    3 1.4.2 替换    4 第2章 VC++2005    6 2.1 设置依赖关系    6 2.2 自动连接    7 2.2.1 链接库依赖项(Link Library Dependencies)    8 2.2.2 忽略导入库(Ignore Import Library)    9 2.3 静态库    9…
1 创建动态TableView 1.1 问题 动态表视图就是显示多少分区,多少行以及每一行的显示内容都是根据数据源来决定.之前我们学过用xib展示动态表视图,本案例将学习如何使用Storyboard展示动态表视图,如图-1所示: 图-1 1.2 方案 首先创建一个SingleViewApplication项目,Xcode会自动帮我们创建好一个TRViewController类,并且自动带有Storyboard文件.将自动创建的TRViewController类删除,新建一个TRTableView…
VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“第11页的3.1.3应用程序举例”部分没看 2013.06.17 第四章的“实验”.“自测题”.“小结”没看 第一章 VC++6.0开发环境 ²        第4页“1.1.2应用程序向导AppWizard”之前的内容很容易,无需再看 ²        第5页对“消息映射”的概念定义.及Messa…
一.如何显示内存中的 HTML 网页 二.屏蔽 IE 控件的上下文菜单 三.扩展 HTML 脚本中的 external 对象 四.显示 HTML 样式的对话窗 五.执行 HTML 脚本 http://www.yesky.com/326/1950826.shtml 一.如何显示内存中的 HTML 网页 或者因为网页保密的考虑:或者因为软件分发的考虑,有的时候就需要让 IE 或 IE 浏览器控件显示内存或资源中的 HTML 网页.在 MFC 中,CHtmlView::LoadFromResource…