CRectTracker类的使用方法及其静态库下CRectTracker无法显示鼠标光标解决方案


 
一 使用方法 

1 定义成员变量 

CRectTracker m_RectTracker; 

2 构造函数设置样式 

m_RectTracker.m_nStyle = CRectTracker::resizeOutside|CRectTracker::solidLine; 
m_RectTracker.m_nHandleSize = 6; 
m_RectTracker.m_rect.SetRect(0,0,0,0); 



3 覆盖OnSetCursor 函数,显示鼠标指针形状,修改为如下 
BOOL CXX::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 

if (pWnd == this && m_RectTracker.SetCursor(this, nHitTest)) 

return TRUE; 


return CXX::OnSetCursor(pWnd, nHitTest, message); 




4 覆盖OnLButtonDown函数,添加如下代码 
void CXX::OnLButtonDown(UINT nFlags, CPoint point) 

if(m_RectTracker.HitTest(point)<0) // 画选择框 

m_RectTracker.TrackRubberBand(this,point,TRUE); 
m_RectTracker.m_rect.NormalizeRect(); 

else // 点矩形选择框 

m_RectTracker.Track(this,point,TRUE); 
m_RectTracker.m_rect.NormalizeRect(); 


Invalidate(); //刷新窗口 
return; // 由于鼠标被接管,所以可以直接返回。 
CXX::OnLButtonDown(nFlags, point); 




5 在OnPaint或者OnDraw函数添加 

m_RectTracker.Draw(&dc); // 画矩形框 



二 解决非控件(对话框,单文档等)静态库中鼠标不见的问题(转自微软) 

1 原因:当应用程序通过使用静态库链接到 MFC 时, MFC 资源被编译到应用程序的可执行文件。 应用程序的可执行文件将包括在 Afxres.rc 文件。 若要检查这,单击 资源包含 在 视图 菜单上。 在 Afxres.rc 文件拥有 CRectTracker 使用 MFC 源代码中的资源。 这些资源不是是 _AFX_NO_TRACKER_RESOURCES 时,包括只定义的。 BLOCKS32 项目具有 _AFX_NO_TRACKER_RESOURCES 定义的。 因此,它确实不置于应用程序的可执行映像 CRectTracker 需要的资源。 因此,没有任何所使用的 CRectTracker 游标会在生成该示例通过使用 MFC 静态时显示。 


2 解决方案 

在资源视图中,在rc中点击 Resource Includes,然后 删除以下行: #define _AFX_NO_TRACKER_RESOURCES。 



三 解决控件中静态库鼠标不见的问题 

由于在控件的资源里没有_AFX_NO_TRACKER_RESOURCES,所以需要添加#undef _AFX_NO_TRACKER_RESOURCES\r\n。 

在资源视图中,在rc中点击 Resource Includes,在3 TEXTINCLUDE 下面添加如下语句,注意斜体部分,一定要有。 

3 TEXTINCLUDE 
BEGIN 
"1 TYPELIB ""test.tlb""\r\n" 
"\r\n" 
"#define _AFX_NO_SPLITTER_RESOURCES\r\n" 
"#define _AFX_NO_OLE_RESOURCES\r\n" 
"#define _AFX_NO_PROPERTY_RESOURCES\r\n" 
"#undef _AFX_NO_TRACKER_RESOURCES\r\n" 
"\r\n" 
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" 
"LANGUAGE 9, 1\r\n" 
"#pragma code_page(1252)\r\n" 
"#include ""afxres.rc"" // Standard components\r\n" 
"#endi\0" 
END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB绘制正弦波、方波、三角波、锯齿波的mif文件

MATLAB绘制正弦波、方波、三角波、锯齿波的mif文件 % 对波形进行等间隔采样,以采样次数作为 ROM 存储 % 地址,将采集的波形幅值数据做为存储数据写入存储地址对应的存储空间 % 采样次数为 212 = 4096 次,采集的波形幅值数据位宽 % 为 8bit,将采集数据保存为 MIF 文件 clc;…

一只幸运而悲哀的鹅

晚上陪朋友去旧鼓楼大街的酒吧和旧书店喝酒淘书&#xff0c;看到一只鹅明目张胆地走在大街上。 原来是被一个红衣男子收养的鹅&#xff0c;主人带着它在街上遛弯&#xff0c;时而将它抱起来&#xff0c;表情显示了人与鹅很深的感情。 这只鹅虽然老态龙钟&#xff0c;却气宇轩昂…

qt开发环境 - 丁林松教程,丑陋的计算器

没有加入弹出窗口 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent 0);~MainWindow();private slots:void on_pushBu…

在C++中子类继承和调用父类的构造函数方法

构造方法用来初始化类的对象&#xff0c;与父类的其它成员不同&#xff0c;它不能被子类继承&#xff08;子类可以继承父类所有的成员变量和成员方法&#xff0c;但不继承父类的构造方法&#xff09;。因此&#xff0c;在创建子类对象时&#xff0c;为了初始化从父类继承来的数…

《孩子,你如此优美:一位作家母亲的家教笔记》

《孩子&#xff0c;你如此优美》&#xff08;华东师范大学出版社2009年4月出版&#xff09;是顾艳写的一部长篇纪实散文。记录了她从怀孕到女儿出生&#xff0c;之后女儿上学——分别在浙江大学、香港岭南大学、北京大学&#xff0c;一直到美国斯坦福大学留学的经历。顾艳是我的…

VGA彩条显示

VGA彩条显示 (1) 系统上电后,板卡传入系统时钟(sys_clk)和复位信号(sys_rst_n)到顶层模块; (2) 系统时钟由顶层模块传入时钟生成模块(clk_gen),分频产生 VGA 工作时钟(vga_clk),作为图像数据生成模块(vga_pic)和 VGA 时序控制模块(vga_ctrl)的工作时钟; (3) 图像数据生成模…

故乡与文学:一场别开生面的跨年代文学对话(一)

6月12日下午&#xff0c;在北京语言大学艺术系展厅&#xff0c;我主持了题为“故乡与文学”的对话会。60后旅美女作家张人捷、70后旅法女作家林风竹、80后女评论家于一爽、北京电影学院文学硕士柳青等就张人捷的长篇小说《十年》、林风竹的长篇小说《世界上最幸福的女人》与北京…

C++中public,protected,private派生类继承问题和访问权限问题

当一个子类从父类继承时&#xff0c;父类的所有成员成为子类的成员&#xff0c;此时对父类成员的访问状态由继承时使用的继承限定符决定。 1.如果子类从父类继承时使用的继承限定符是public&#xff0c;那么 (1)父类的public成员成为子类的public成员&#xff0c;允许类以外的代…

学习易错笔记

学习易错笔记 将行同步时序图和场同步时序图结合起来&#xff0c;就构成了VGA时序图。VGA只能识别模拟信号&#xff0c;而FPGA输出的图像信息为数字信号。数字图像信号转化为模拟图像信号有二种方法&#xff0c;其一&#xff0c;使用专业的转换芯片&#xff0c;如常用的转换芯…

798的猫和人

两个女孩在模仿画中动作。 一只不知从哪走来的猫。 这是行为艺术还是装置艺术&#xff1f;观众也可以参与。不过有些许的恐怖。 又是模仿。三只装着衣服的龙。 圣之空间画廊内外

qt开发环境 - 丑陋的串口助手

qt版本&#xff1a;5.9.1 win版本&#xff1a;10.1706 本助手改自qt自带exmple中的terminal&#xff0c;去掉console相关内容&#xff0c;加入button textbowser textedit&#xff0c;只改变了mainwindow 下面是代码 /****************************************************…

OOo-MySpell 一个C++的拼写语法检查开源项目

地址: http://code.google.com/a/apache-extras.org/p/ooo-myspell/ 这个软件被应用到了 Pspell, OpenOffice, AbiWord, 等等.

与狼共舞·美女与野兽

收了一张法国女钢琴家埃莱娜格瑞莫的影碟&#xff0c;名为《埃莱娜格瑞莫&#xff1a;与狼共舞》&#xff08;Helene Grimaud:LIVING WITH WOLVES&#xff09;。前年曾读过她的一个自传《野变奏》&#xff08;上海教育出版社出版&#xff09;&#xff0c;去年还买过她一本传记《…

HDMI显示器驱动设计与验证

HDMI显示器驱动设计与验证 HDMI组成 HMDI数据传输图 TMDS信号连接图 HDMI彩条显示实验整体框图

“不要尝试欺骗我一个吻”(奥·安达尔摄影展)

少作 NO.33 &#xff08;眼睛&#xff09;, 2009 昨天&#xff0c;在伊比利亚艺术中心看挪威艺术家奥利约翰安达尔&#xff08;Ole John Aandal&#xff09;的题为“少作 ——构建资本主义社会的灵魂”的摄影展览。这些图片大多影象模糊&#xff0c;有的还有马赛克&#xff0…

qt开发环境 - 简易二进制文件打开,串口自发自收

qt版本&#xff1a;5.9.1 win版本&#xff1a;10.1706 下载&#xff1a;https://download.csdn.net/download/zn2857/10194028 改自上篇文章的串口助手&#xff0c;加入linEdit显示文件路径&#xff0c;加入新pushButton加载文件&#xff0c; 文件加载后显示在串口发送窗口…

SystemParametersInfo (SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作

在codeproject上面看见一个颜色选择控件CColourPopup, 地址是 http://www.codeproject.com/Articles/713/A-color-picker-button 这里控件看到很多人再用, 但是在这个函数里面有点小问题 void CColourPopup::Initialise() {//other code// Create the fontNONCLIENTMETRICS n…

TFT_LCD液晶屏驱动设计与验证

TFT_LCD液晶屏驱动设计与验证 注:在本实验工程中,输出信号中包含 HV 同步模式下需要的行、场同步信号(hsync、 vsync)和 DE 同步模式下的 tft_de 信号,各信号正确输出。读者若想要使用 HV 同步模式进行图像显示,可在代码中注释掉 tft_de 信号;若想要使用 DE 同步模式进行图…

成吉思汗的子孙:中国游牧蒙古人

6月28日下午。大河画廊。内蒙古摄影家阿音题为“成吉思汗的子孙&#xff1a;中国游牧蒙古人”的个展。阿音&#xff0c;1970年出生于内蒙古。现居住在锡林郭勒盟的东乌珠穆沁旗。1989自学摄影。曾在国内外举办过多次摄影展&#xff0c;获得过2007年美国国家地理杂志世界纪实摄影…