首页
学习
活动
专区
工具
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
  • 滚动条的颜色_Java滚动条里面怎么添加控件

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

    85420

    如何获取对方IP,查询对方的位置

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

    6.8K30

    如何使用JavaScript实时获取鼠标位置?

    在我们开发网页时,常常会需要获取用户的鼠标位置,以便实现一些动态效果或交互功能。那么,如何使用JavaScript来实时追踪鼠标的位置呢?今天,我们就来聊聊这个有趣的话题。...获取鼠标位置:clientX和clientY属性 要实现鼠标位置的实时追踪,我们可以监听mousemove事件,每当鼠标移动时,这个事件就会被触发。...实际业务场景应用 想象一下,当用户在一个在线绘图应用中绘画时,我们需要实时获取他们的鼠标位置,以便绘制出连续的线条。或者在一个互动地图应用中,我们需要知道用户的鼠标位置,以便显示特定区域的信息。...通过监听mousemove事件,我们获取鼠标位置,并使用canvas的绘图方法在页面上绘制出用户的鼠标轨迹。...结束 通过监听mousemove事件,并利用事件对象的clientX和clientY属性,我们可以轻松地获取鼠标在页面上的位置,并实现各种动态效果或交互功能。

    30410

    duilib的Combo控件滚动条不显示的问题

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

    2K40

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

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

    95220

    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 现在我们进入重点话题,如何创建我们需要的自定义

    88080

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

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

    1.9K40

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

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

    4.6K30

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

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

    46120

    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数据了,如果需要用到项目里面,后面直接修改一下 将 //获取树权限节点接口定义

    3.1K30

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

    老规矩,先说需求: 需求是想要获取到图片的位置,然后根据图片的位置添加一个按钮 点击这个按钮 获取图片的信息 正常来讲 这样的需求 先获取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
    领券