请问如何确定图像上某点的真实位置? 我在视图中显示了一张图片(按照图片实际大小显示),由于图像的实际大小大于视图区域的大小,因此,我加上滚动条,这样可以浏览全部的图像。我的图像大小为2560×1920,视图区域只有400×300, 我用鼠标选择某点,请问该如何得到该点在图像上的实际位置? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当前滚动左上角相对滚动pt0;当前点为curpt, 则pt = curpt - pt0 关键是得到当前视图左上角在图像中的位置,然后加上鼠标位置(相对于视图)就可以了。由于不知道你这么处理滚动,所以没法说如果用CScrollView,那只要GetScrollPosition + 鼠标位置(对视图)就可以 CPoint ClientPoint;CPoint ScrollPoint = GetScrollPosition();int x=ScrollPoint.x+ClientPoint.x;int y=ScrollPoint.y+ClientPoint.y; 我是楼主!当我把鼠标放在图片上某些点时,会出现TOOLTIPS信息,比如图片上点A(500,200),在视图上为(100,200)其TOOLTIPS信息为“POINT A”,图片上点B(700,200),也放在视图上的(100,200)这个位置,按说应该出现“POINT B”,但是,结果还是出现“POINT A”,请问该怎么办? CPoint ClientPoint;CPoint ScrollPoint = GetScrollPosition();int x=ScrollPoint.x+ClientPoint.x;int y=ScrollPoint.y+ClientPoint.y;我这样做了,可以实现滚动条的滚动,但是,视图中的图像并没有发生变化,我加入了Invalidate(TRUE),这样可以使视图发生变化,但是屏幕却闪的厉害,请问该怎么办? 屏幕却闪的厉害http://vcworm.51.net/interface/preventglint.htm 线程中试用webbrower2的情况 有关DC的两个问题 自绘菜单选中后怎么文字成空白了 新年不难为大家了,问个简单问题,第一个回答的100分,vc6中ide的字体太少都太难看了,怎么使用其他字体 new 与 delete 的问题 如何向Window系统发送MOUSE消息? 3D游戏大师编程技巧第八章调试问题 求救:如何检测曲线是否闭合? 在VC++ INSTALLSHIELD中,Program DLLs和Shared Dlls在安装完成后有什么区别? 请问关于内存查找的这个汇编语句应该怎么写? 如何使用CRecordset类进行添加记录操作 BYTE型数组长度?
当前点为curpt, 则pt = curpt - pt0
由于不知道你这么处理滚动,所以没法说
如果用CScrollView,那只要GetScrollPosition + 鼠标位置(对视图)就可以
CPoint ScrollPoint = GetScrollPosition();
int x=ScrollPoint.x+ClientPoint.x;
int y=ScrollPoint.y+ClientPoint.y;
比如图片上点A(500,200),在视图上为(100,200)其TOOLTIPS信息为“POINT A”,
图片上点B(700,200),也放在视图上的(100,200)这个位置,按说应该出现“POINT B”
,但是,结果还是出现“POINT A”,请问该怎么办?
CPoint ScrollPoint = GetScrollPosition();
int x=ScrollPoint.x+ClientPoint.x;
int y=ScrollPoint.y+ClientPoint.y;
我这样做了,可以实现滚动条的滚动,但是,视图中的图像并没有发生变化,
我加入了Invalidate(TRUE),这样可以使视图发生变化,但是屏幕却闪的厉害,
请问该怎么办?
http://vcworm.51.net/interface/preventglint.htm