- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 TCategoryPanel 内将 TbuttonGroup 设置为 alClient,我无法停止使用鼠标滚轮滚动。当焦点设置到按钮组时,即使所有项目都已经可见,并且大小设置为容纳所有内容 + 2 像素,它也会向上移动按钮组的内容并隐藏第一个项目并创建一个空白空间在底部。我在自己的研究中没有发现与此行为相关的任何内容,因此如果有人有建议,可以使用建议!
图片:
滚动之前
滚动1后
滚动2后
到目前为止,我发现阻止它的唯一方法是将其设置为高 1 个完整按钮高度(24px)。然而,当涉及到 GUI 时,这作为问题的解决方案并不是真正可以接受的。
DFM 副本:
object MainF: TMainF
Left = 0
Top = 0
Caption = 'MainF'
ClientHeight = 550
ClientWidth = 785
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnPaint = FormPaint
OnResize = FormResize
DesignSize = (
785
550)
PixelsPerInch = 96
TextHeight = 13
object ScrollBox1: TScrollBox
Left = 200
Top = 45
Width = 585
Height = 505
Align = alClient
BevelInner = bvNone
BevelOuter = bvNone
BorderStyle = bsNone
Color = clWindow
ParentColor = False
TabOrder = 0
OnClick = FlowPanel1Click
object FlowPanel1: TFlowPanel
Left = 0
Top = 0
Width = 585
Height = 105
Align = alTop
AutoSize = True
BevelOuter = bvNone
Color = clWindow
TabOrder = 0
OnClick = FlowPanel1Click
end
end
object CategoryPanelGroup1: TCategoryPanelGroup
Left = 0
Top = 45
Height = 505
VertScrollBar.Tracking = True
HeaderFont.Charset = DEFAULT_CHARSET
HeaderFont.Color = clWindowText
HeaderFont.Height = -11
HeaderFont.Name = 'Tahoma'
HeaderFont.Style = []
TabOrder = 1
object CategoryPanel2: TCategoryPanel
Top = 220
Height = 100
Caption = 'Hail'
TabOrder = 0
object ButtonGroup2: TButtonGroup
Left = 0
Top = 0
Width = 196
Height = 74
Align = alClient
BorderStyle = bsNone
ButtonOptions = [gboFullSize, gboShowCaptions]
Items = <
item
Caption = 'Extended Crop Report'
end
item
Caption = 'Total Crop Summary Report'
end
item
Caption = 'Crop Summary Report'
end>
TabOrder = 0
end
end
object CategoryPanel1: TCategoryPanel
Top = 0
Height = 220
Caption = 'Assessment'
TabOrder = 1
object ButtonGroup1: TButtonGroup
Left = 0
Top = 0
Width = 196
Height = 194
Align = alClient
BorderStyle = bsNone
ButtonOptions = [gboFullSize, gboShowCaptions]
Items = <
item
Caption = 'Assessment By Property(Detailed)'
end
item
Caption = 'Assessment By Property'
end
item
Caption = 'Assessment Summary 1 Page'
end
item
Caption = 'Assessment By PPC'
end
item
Caption = 'Assessment By LPC'
end
item
Caption = 'Assessment By Authority For LPC'
end
item
Caption = 'Property By Assessment Number'
end
item
Caption = 'Assessment By Authority For PPC'
end>
TabOrder = 0
end
end
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 785
Height = 45
Align = alTop
BevelOuter = bvNone
ParentColor = True
TabOrder = 2
object Label1: TLabel
Left = 10
Top = 0
Width = 349
Height = 43
AutoSize = False
Caption = 'Reports for redacted'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Layout = tlCenter
end
end
object WaitPanel: TPanel
Left = 228
Top = 167
Width = 505
Height = 100
Anchors = [akLeft, akTop, akRight, akBottom]
Caption = 'A report is open. Please wait...'
TabOrder = 3
end
object MainMenu1: TMainMenu
Left = 368
Top = 152
object mnuFile1: TMenuItem
Caption = 'File'
object mnuExit1: TMenuItem
Caption = 'Exit'
end
end
object Settings1: TMenuItem
Caption = 'Settings'
object mnuReports1: TMenuItem
Caption = 'Reports'
OnClick = mnuReports1Click
end
object mnuChangeCommon1: TMenuItem
Caption = 'Change Common Reports'
OnClick = mnuChangeCommon1Click
end
end
object mnuHelp1: TMenuItem
Caption = 'Help'
object mnuAbout1: TMenuItem
Caption = 'About'
OnClick = mnuAbout1Click
end
end
end
object ReportListDB: TABSDatabase
Connected = True
CurrentVersion = '7.30 '
DatabaseFileName = ''
DatabaseName = 'RptName'
Exclusive = False
MaxConnections = 500
MultiUser = False
SessionName = 'Default'
Left = 336
Top = 261
end
object ReportList: TABSTable
CurrentVersion = '7.30 '
DatabaseName = 'RptName'
InMemory = False
ReadOnly = False
StoreDefs = True
IndexDefs = <
item
Name = 'IDKey'
Fields = 'ID'
Options = [ixPrimary]
end>
IndexName = 'IDKey'
FieldDefs = <
item
Name = 'ID'
DataType = ftAutoInc
end
item
Name = 'ReportFileName'
DataType = ftString
Size = 100
end
item
Name = 'ReportTitle'
DataType = ftString
Size = 100
end
item
Name = 'ReportClass'
DataType = ftString
Size = 20
end
item
Name = 'CommonReports'
DataType = ftInteger
end>
TableName = 'ReportList'
Exclusive = False
Left = 408
Top = 261
object ReportListCommonReports: TIntegerField
DisplayWidth = 10
FieldName = 'CommonReports'
end
object ReportListReportTitle: TStringField
DisplayWidth = 30
FieldName = 'ReportTitle'
Size = 100
end
object ReportListReportClass: TStringField
DisplayWidth = 10
FieldName = 'ReportClass'
end
object ReportListReportFileName: TStringField
DisplayWidth = 45
FieldName = 'ReportFileName'
Visible = False
Size = 100
end
object ReportListID: TAutoIncField
DisplayWidth = 2
FieldName = 'ID'
Visible = False
end
end
object ReportOrderQRY: TABSQuery
CurrentVersion = '7.30 '
DatabaseName = 'RptName'
InMemory = False
ReadOnly = True
SQL.Strings = (
'SELECT ID, CommonReports, ReportTitle'
'FROM ReportList'
'WHERE CommonReports > 0'
'ORDER BY CommonReports')
Left = 480
Top = 261
object ReportOrderQRYID: TIntegerField
FieldName = 'ID'
end
object ReportOrderQRYCommonReports: TIntegerField
FieldName = 'CommonReports'
end
object ReportOrderQRYReportTitle: TStringField
FieldName = 'ReportTitle'
Size = 100
end
end
end
最佳答案
AFAICS,问题在于,在调整按钮组大小以适合其父级的工作区之前,会计算按钮组中的总可见行数。这发生在 TButtonGroup.Resize
过程中。
一种解决方案是在窗口呈现其最终大小后强制调整大小。
ButtonGroup1.Height := ButtonGroup1.Height + 1;
虽然这有效,例如,在单击按钮时,我找不到在表单创建时调用它的好地方。在处理已发布的用户消息时执行此操作可能还为时过早(不太确定它不起作用的原因)。
另一种解决方案是为 OnMouseWheelDown
事件附加一个处理程序,以防止进一步处理。
procedure TForm1.ButtonGroup1MouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
if ButtonGroup1.ClientHeight >= ButtonGroup1.Items.Count * ButtonGroup1.ButtonHeight then
Handled := True;
end;
..尽管隐藏滚动条仍然需要上面的内容。
procedure TForm1.FormCreate(Sender: TObject);
begin
if ButtonGroup1.Align = alClient then
ButtonGroup1.Height := ButtonGroup1.Height + 1;
end;
关于德尔福XE5 : How to stop scrolling in a TButtonGroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319999/
我经常使用stop Fortran 中固有的因各种原因停止执行(主要是在测试失败后)。 program test1 stop end program 除了停止程序执行之外什么都不做。 prog
我想编写一个函数,用字符 e 替换所有出现的字符 c。这些功能似乎正在发挥作用。然而,主要是,我希望能够重复输入一个字符串,扫描要替换的字符,扫描要替换的字符,并打印之前和之后的内容,直到输入的字符串
在 powershell 中,我看到了多种停止服务的方法 更现代的方式 Stop-Service wuauserv 而更传统的方式 NET STOP WUAUSERV 遗留方式 is much mor
所以问题是我需要一个正则表达式,只有当它的 stop 也意味着 stopp 或 sstoooppp 时,它才会匹配第二个单词> 后跟一个空格。我需要得到这个词,我找不到任何正则表达式来做到这一点,因为
我正在做这样的事情 http://jsfiddle.net/8ErSL/2/ 当您将鼠标悬停在任何文本框 (div) 上时,其中会出现一个小图标。 我想阻止图标的淡入淡出效果在我不小心将鼠标悬停在 d
这段代码在 Debug模式下工作得很好,但当不是 Debug模式时它总是抛出运行时异常。 mMediaRecorder.stop(); 根据 Java 文档: Stops recordin
这是我的full code ,这里是my project ,当我在 #onCreate 中使用 MediaRecorder#stop 时,它会引发 java.lang.RuntimeException
我使用 C# 编写了一个库并在 PowerShell 脚本中使用它。 C# 库将大量数据加载到数据库中。我正在使用 Start-Job 来启动该过程,并且我正在监视一个文件是否有错误。 但是,我发现即
我正在尝试编写以下问题的代码: 在 a0, a1, ..., an 处有 n 个酒店,使得 0 dp(k)+(ai-ak)^2) dp(i) = dp(k)+(ai-ak)^2)
我有一个简单的测试,我使用 run_forever 方法运行 Python asyncio 事件循环,然后立即在另一个线程中停止它。但是,事件循环似乎并没有终止。我有以下测试用例: import as
我有以下情况: 专用租赁 m4.large 运行 RHEL6 的 EC2 实例 使用 AWS 控制台手动启动它效果很好 尝试启动它的 Lambda 函数(用 Java 编写)失败,因为实例状态为:已停
我正在使用 Yajsw 将我的应用程序作为守护进程运行。 对于状态调用,我希望看到“正在运行”或“已停止”,但我收到的消息如下所示 SW043305-SRV01:/etc/init.d # ./tes
在 Tomcat 或 TomEE 中,service tomcat start/stop 和 ./catalina.sh run/stop 有什么区别? 他们做的事情完全一样吗? 最佳答案 catal
我正在尝试使用 C++ 和 OpenGL/GLUT 制作一个 Snake 克隆。然而,我一直在编程允许输入 Action 之间的短时间间隔时遇到问题。我已经尝试了一些计时方法,最后我为它创建了一个类(
问题: org.apache.catalina.loader.WebappClassLoader - The web application [/…] appears to have started
我正在尝试以下实验: 我有两个QpushButtons,比如PushA 和PushB。现在 PushA 在 QHBoxLayout 中,PushB 也在它自己的 QHBoxLayout 中。这两个水平
我已经在我的 windows 10 机器上安装了 Docker for Windows。当我尝试从“windows 容器”“切换到 linux 容器”时,出现错误。 Unable to start:
我在我的应用程序中集成了摄像头。当用户单击捕获按钮时,我隐藏了工具栏,以便摄像头预览屏幕尺寸增加。这会导致应用程序在停止在线录制时崩溃 - mMediaRecorder.stop(); 。 java.
运行功能时 stop("m Sys.setenv(LANG = "fr") > 2 + x Erreur : objet 'x' introuvable > Sys.setenv(LANG = "en
我有一个 Windows 10 内部版本,我正在尝试安装 cpriego/valet-linux使用 wsl2 我已经安装了 composer、php 和所有其他的要求。 现在当我做 valet st
我是一名优秀的程序员,十分优秀!