首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取TImgView32控件滚动条的位置?

TImgView32控件是Delphi编程语言中的一个图像显示控件,用于显示图像文件。该控件本身并不具备滚动条功能,因此无法直接获取滚动条的位置。如果需要在TImgView32控件中实现滚动条功能,可以考虑以下两种方法:

  1. 使用TScrollBox控件:将TImgView32控件放置在TScrollBox控件中,通过TScrollBox控件提供的滚动条来控制图像的滚动。可以通过TScrollBox的HorzScrollBar.PositionVertScrollBar.Position属性来获取水平和垂直滚动条的位置。具体代码示例如下:
代码语言:txt
复制
var
  scrollBox: TScrollBox;
begin
  // 创建TScrollBox控件
  scrollBox := TScrollBox.Create(Self);
  scrollBox.Parent := Self;
  scrollBox.Align := alClient;

  // 创建TImgView32控件并放置在TScrollBox中
  var imgView := TImgView32.Create(scrollBox);
  imgView.Parent := scrollBox;
  imgView.Align := alClient;

  // 获取滚动条位置
  var horzPos := scrollBox.HorzScrollBar.Position;
  var vertPos := scrollBox.VertScrollBar.Position;
end;
  1. 自定义滚动条:在TImgView32控件的周围添加自定义的滚动条控件,通过控制滚动条的位置来实现图像的滚动。可以通过自定义滚动条控件的事件来获取滚动条的位置。具体代码示例如下:
代码语言:txt
复制
var
  scrollBar: TScrollBar;
begin
  // 创建TScrollBar控件
  scrollBar := TScrollBar.Create(Self);
  scrollBar.Parent := Self;
  scrollBar.Kind := sbVertical;
  scrollBar.Align := alRight;

  // 创建TImgView32控件
  var imgView := TImgView32.Create(Self);
  imgView.Parent := Self;
  imgView.Align := alClient;

  // 自定义滚动条的OnScroll事件
  scrollBar.OnScroll := procedure(Sender: TObject);
  begin
    // 获取滚动条位置
    var scrollPos := scrollBar.Position;
    // 根据滚动条位置来控制图像的滚动
    // ...
  end;
end;

需要注意的是,以上示例代码仅为演示如何获取滚动条位置的方法,并不涉及具体的图像滚动实现。具体的滚动逻辑需要根据实际需求进行设计和实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

API获取窗口滚动条位置

以前都是找内存读取滚动条位置,后来遇到一个游戏客户端滚动条内存基址怎么也找不到,做了很多努力都失败了,因为这个内存基址已经不属于程序领空。...最后感觉这个滚动条应该是系统直接控制, 和程序本身关系不大,所以直接调用系统API应该可以获得。...本人小白, API了解不多,网上查了查资料才会用这个API了,现在回想起来,以前真是走了很多弯路,能直接用API获取数据,我居然那么多次都去找内存、找基址。...下面是AAU(AARDIO)中获取窗口滚动条位置API用法: GetScrollPos= User32.api("GetScrollPos","int(int hWnd,int bar)"); pos...=GetScrollPos(hwnd,0); 第一个参数是窗口句柄,第二个参数是滚动条方向。

1.8K30

duilib中获取控件位置或者大小不对可能原因

duilib初学者可能总会有这样疑问:为什么我获取控件位置或者大小和我想象中不一样?...位置不一样可能原因: 1.xml中直接配置位置和实际显示之后位置确实是不一样.xml中设置位置(相对或绝对)都是基于他控件左上角.而实际显示之后获取位置,是基于整个客户区左上角; 2....控件位置计算都是在WM_PAINT消息处理中进行,在这个消息处理之前,获取位置都是旧; 大小不一样可能原因: 1.参考上面第2条,大小计算也是在WM_PAINT消息处理中进行; 2.有其他你忽略干扰项....比如子控件采用相对布局时父控件有inset,或者父控件大小有限; 3.可能只是因为其他控件遮盖或者超出了父控件而不显示,看起来大小不对;

1.8K40
  • 如何获取对方IP,查询对方位置

    那么对方IP地址该如何搜查得到呢?这样问题你也许会嗤之以鼻,的确,查询对方计算机IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。...下面,本文就对如何快速、准确地搜查出对方好友计算机IP地址,提出如下几种方法,相信能对大家有所帮助!...为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友IP地址:   考虑到与好友进行QQ聊天是通过UDP协议进行,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从...例如,借助一款名为WhereIsIP搜查工具,你可以轻松根据对方好友Web网站地址,搜查得到对方好友IP地址,甚至还能搜查到对方好友所在物理位置。...当然,除了可以知道IP地址外,你还能知道对方好友所在具体物理位置

    6.5K30

    滚动条颜色_Java滚动条里面怎么添加控件

    大家好,又见面了,我是你们朋友全栈君。 对里面样式介绍: 语法: scrollbar-face-color :color 参数: color : 指定颜色。...说明: 设置或检索滚动条3D表面(ThreedFace)颜色。(演示) 语法: scrollbar-highlight-color :color 参数: color : 指定颜色。...说明: 设置或检索滚动条方向箭头颜色。当滚动条出现但不可用时,此属性失效。(演示) 语法: scrollbar-shadow-color :color 参数: color : 指定颜色。...说明: 设置或检索滚动条亮边框颜色。 语法: scrollbar-base-color :color 参数: color : 指定颜色。 说明: 设置或检索滚动条基准颜色。...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    85120

    duilibCombo控件滚动条不显示问题

    duilibCombo控件下拉框是一个独立子窗口,类名:CComboWnd。...从duilib源码可以知道,CComboUI控件在Add到布局上时候,自己m_pManager还是当前所在窗口管理器指针,这样默认滚动条样式图片等都在其中。...但是下拉框子窗体CComboWnd却有自己一个CPaintManagerUI对象m_pm,而这个m_pm却没有从m_pManager中拿到滚动条样式等资源(好像字体也是,好在字体可以直接指定全局共享...),这样就出现了滚动条不显示问题。...其实duilib原本设计应该是通过dropbox属性来设置下拉框属性等,只是我也没去调试这个dropbox属性值应该怎么去写。所以就冒昧改了一下源码。

    1.9K40

    WPF 如何判断一个控件滚动条里面是用户可见

    我有一个控件,这个控件放在滚动条里面,如果在滚动条滚动到这个控件可以被用户看见时候,我能知道这个事件,或从什么时机可以拿到用户可以看见范围修改?...昨天星期八再娶你 大佬问我如何判断在滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器时候自动停下这个播放器 在 WPF 可以通过 ScrollChanged 拿到当前滚动到哪同时拿到滚动条可见宽度和高度...在 ScrollChangedEventArgs 提供了多个属性用于拿到当前滚动条可见宽度和高度,滚动条水平移动和垂直移动,具体请看下图 在用户修改外层控件宽度或高度让滚动条高度或宽度进行修改时候...等属性知道用户修改了多少 那么如果判断某个控件滚动条可见内就可以拿到某个控件外接矩形和滚动条可见大小进行矩形判断,请看下图 那么如何拿到一个控件外接矩形?...// 控件宽度和高度 var controlBounds = new Rect(top, control.DesiredSize); 此时计算滚动条用户可见大小,通过滚动条水平和垂直移动加上宽度和高度

    94920

    VC如何获取对话框中控件坐标

    VC如何获取对话框中控件坐标 GetWindowRect是取得窗口在屏幕坐标系下RECT坐标(包括客户区和非客户区),这样可以得到窗口大小和相对屏幕左上角(0,0)位置。...GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下RECT坐标,可以得到窗口大小,而不能得到相对屏幕位置,它top和left都为0,right和botton是宽和高,因为这个矩阵是在客户区坐标系下...(相对于窗口客户区左上角)。  ...ClientToScreen把客户区坐标系下RECT坐标转换为屏幕坐标系下RECT坐标. ScreenToClient把屏幕坐标系下RECT坐标转换为客户区坐标系下RECT坐标.     ...引自:http://blog.chinaunix.net/u/25372/showart_304363.html 所以要获得一个控件再对话框中坐标的实现代码是: CRect lpRec; GetDlgItem

    2.5K90

    如何通过自定义MessageFilter方式利用按键方式操作控件滚动条

    刚开始,我试图采用注册事件方式来实现,但是效果不理想,一来是没有一个单一地方来对所有相关空间进行事件注册操作,二来如果容器被子控件完全遮挡,容器空间事件将不会正常出发。...就拿我们上面给出控制滚动条场景来说,当前容器由于内容过多而产生竖直滚动条(假设子控件宽度和容器相同),用户键入PageDown按键试图向下滚动。...由于整个TabControl高度时固定,而TabPage中显示内容则依赖于具体逻辑,所以对于内容过多TabPage,将会有一个竖直滚动条。...而我们需要通过按键方式控制就是当前TabPage这个滚动条。 ? 下面是该Form相关代码,静态属性ActiveTabPage代表当前显示TabPage。...this.mainWorkspace.SelectedTab; 53: } 54: } 55: } 三、自定义MessageFilter 现在我们进入重点话题,如何创建我们需要自定义

    87280

    经典布局:如何定义子控件在父容器中排版位置

    在Flutter中,Container本身可以单独作为控件存在(比如单独设置背景色、宽高),也可以作为其他控件父级存在:Container可以定义布局过程中子Widget如何摆放,以及如何展示。...多子Widget布局:Row、Column和Expanded 对于拥有多个子Widget布局类容器而言,其布局行为无非就是两种规则抽象:水平方向上应该如何布局、垂直方向上应该如何布局。...Stack容器与前端中绝对定位、iOS中Frame布局非常类似,子Widget之间允许叠加,还可以根据父容器上下左右四个角位置来确定自己位置。...Stack控件允许其子Widget按照创建先后顺序进行层叠摆放,而Position控件则用来控制这些子Widget摆放位置。...层叠布局Stack,以及与之搭配使用,定位子Widget位置Positioned容器,通过它们,实现多控件堆放布局效果。 以上

    4.6K30

    获取Repeater控件里动态声称控件

    一般对这种重复数据读取我们经常是用Repeater控件来做,而且也能比较灵活得分页,更可贵是它能够做到动态生成控件。 下面我们就来实现类似QQ留言和回复留言效果。...红色部分是一个隐藏Div层,里面是一个TextBox控件和一个用于提交回复留言LinkButton控件。 本来这个层是隐藏,正常情况下是看不到。...这个时候就有一个问题了:我们是怎么获得Repeater控件里面的控件(注意:这个控件是“活”,是在运行时候根据客户来输入,而不是我们定死内容,如Label控件!)...并将这个值写进数据库中相关表中并且用于区分是对这个留言者回复? 要解决以上问题就必须了解Repeater控件运行机制原理。...,RepText是一个TextBox控件,主要是接收客户点击项中回复留言内容。

    1.9K40

    WPF 如何获取有哪些 VisualBrush 用了某个控件

    我写了一个特殊控件,我期望了解到有哪些 VisualBrush 捕获了此控件,或者说有哪些 VisualBrush 用了此控件界面 本文方法需要用到反射,需要使用 WPF 框架里面没有公开字段获取某个...new List(0); return visualBrushes; } } 通过上面代码不仅可以获取某个控件,是否被作为 VisualBrush... Visual 作为画刷,还可以获取当前有哪些 VisualBrush 捕获了这个控件 写一个简单界面,将这个控件设置为某个 VisualBrush Visual 内容,然后将这个 VisualBrush...但是如果在 Loaded 事件获取,返回是没有被捕获。...和 gitee 欢迎访问 可以通过如下方式获取本文源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文代码 git init git remote

    45520

    vue如何获取Elementui Tree 树形控件当前选中节点

    vue-element-admin/#/dashboard 官方文档:https://panjiachen.github.io/vue-element-admin-site/zh/ 今天就来说一下,vue如何获取...Elementui Tree 树形控件当前选中节点。...废话不多说,首先看一下官方文档吧,看看官方文档是怎么给到例子吧: Tree 树形控件文档:https://element.eleme.cn/#/zh-CN/component/tree 要求: Elementui...Tree 树形控件,将勾选选中值放在list集合里面提交 提交格式是这样,也就是将勾选项放在一个数组里面,作为参数提交给后端即可。...步骤: 这里我用到了json本地数据,因为掉接口数据,不太方便写demo,后面统一都用到mock,json数据了,如果需要用到项目里面,后面直接修改一下 将 //获取树权限节点接口定义

    3K30

    Android6.0获取GPS定位和获取位置权限和位置信息方法

    (Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(intent, PRIVATE_CODE); } } /** * 获取具体位置经纬度...more details. return; } Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置...updateLocation(location); } /** * 获取到当前位置经纬度 * @param location */ private void updateLocation(Location...6.0权限,返回时回调,我这里需求是获取权限之后获取到当前位置经纬度详细信息 3.下面是当点击获取GPS定位,跳转到系统开关,ActivityResult回调,我这里做是必须要开启GPS权限,没有开启会一直让用户开启权限...基础知识写不好,大佬勿喷,谢谢! 以上这篇Android6.0获取GPS定位和获取位置权限和位置信息方法就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.6K20

    获取图片位置(距离最顶部)

    老规矩,先说需求: 需求是想要获取到图片位置,然后根据图片位置添加一个按钮 点击这个按钮 获取图片信息 正常来讲 这样需求 先获取dom 再遍历dom 往里面塞按钮就可以了 但是,考虑到各型各色网站限制和...dom变化,这样就有很多问题, 所以就需要根据图片的当前位置(元素距离顶部位置(包括滚动条),和左边位置)来动态添加这个按钮 因为是hover触发 所以这个按钮只有一个 (这样做法是参考阿里以图搜图功能做...) ok 需求明白了之后 开始说怎么做 先说公式代码:( top: 图片距离顶部高度+滚动条高度,left:图片距离左侧高度) 1.滚动条高度     // 获取 当前 滚动条长度, 水平 ...:(主要方法:dom.getBoundingClientRect)       // 获取 dom 到视口左侧和顶部相对位置       function getDomToViewPosition(id...进行定位吧 举例看下面这张图: 图片 这张例图距离left为:20 距离上为:266.515625 当前滚动条高度为:4683 按照我们公式 我们动态添加按钮位置应该是: top:4683

    2K10

    用Javascript获取页面元素位置

    三、获取网页大小另一种方法 网页上每个元素还有scrollHeight和scrollWidth属性,指包含滚动条在内该元素视觉面积。...所以,只需要将这两个值进行累加,就可以得到该元素绝对坐标。 (图二 offsetTop和offsetLeft属性) 下面两个函数可以用来获取绝对位置横坐标和纵坐标。   ...五、获取网页元素相对位置 网页元素相对位置,指该元素左上角相对于浏览器窗口左上角坐标。 有了绝对位置以后,获得相对位置就很容易了,只要将绝对坐标减去页面的滚动条滚动距离就可以了。...滚动条滚动垂直距离,是document对象scrollTop属性;滚动条滚动水平距离是document对象scrollLeft属性。...六、获取元素位置快速方法 除了上面的函数以外,还有一种快速方法,可以立刻获得网页元素位置。 那就是使用getBoundingClientRect()方法。

    3.3K70
    领券