AylinCE Grandmaster Cheater Supreme
Reputation: 35 Joined: 16 Feb 2017 Posts: 1478
|
Posted: Tue Mar 18, 2025 2:49 pm Post subject: CE Address List: Horizontal Scroll Bar |
|
|


This article explains how to add a horizontal scroll bar under the CE address list and increase its functionality.
Thanks to the code written, the values written in the "Value" field in the address list,
which are not visible by exceeding the boundaries of the form,
can be easily accessed with the scroll bar.
This method significantly improves the user experience by making it easier to monitor and analyze the values.
Note: @DarkByte's opinion on this issue is that it would be more efficient for CE to expose this bar and that it is not currently exposed.
So the situation: It is a bit of a Supply-Demand issue.
It is a signal that it can be evaluated according to the demand status and added to a suitable version.
(If you want it, state it in the comments and contribute to CE's functionality. )
I only package long or large codes (.lua).
Copy and paste the code below into a .lua file, save it.
(Create a new Text document, paste the code into it, select the save as menu, give it a name and add .lua at the end, change the value below from .txt to "All files" and click OK and save.)
Copy the file and put it in the "autorun" folder in the CE folder.
Open CE and start using it.
Code: | mfm = MainForm
alst1 = getAddressList()
mfp1 = mfm.Panel1
DP1 = getScreenDPI() / 96
-- print(alst1.Align) -- alClient
alst1.AutoSize = false
alst1.Align = "alNone"
alst1.Height = mfp1.Height - 20 * DP1
alst1.Width = mfp1.Width
alst1.Left = 0 * DP1
alst1.Top = 5 * DP1
----------------------- scbt6 -----------------------
if scbt6 then
scbt6.Destroy()
scbt6 = nil
end
scbt6 = createPanel(mfm.Panel1)
scbt6.AutoSize = false
scbt6.Height = 15 * DP1
scbt6.Width = 40 * DP1
scbt6.Left = 5 * DP1
scbt6.Top = mfp1.Height - 15
scbt6.Caption = "<< - >>"
scbt6.Alignment = "2"
scbt6.Font.Style = "fsBold"
scbt6.Font.Size = 11 * DP1
scbt6.Color = mfp1.Color
scbt6.Font.Color = mfp1.Font.Color
function hdrSectLen()
local hdrsect1 = alst1.Header.Sections[0].width +
alst1.Header.Sections[1].width +
alst1.Header.Sections[2].width +
alst1.Header.Sections[3].width
local hdrsect2 = alst1.Header.Sections[4]
local panelWidth = alst1.width
if (hdrsect1 + hdrsect2.width) ~= panelWidth then
hdrsect2.width = panelWidth - hdrsect1
end
--print("New Value width:", hdrsect2.width)
end
-----------------------------------------------------
local movX = alst1.Width - 5
local scbtlftx = 0
mfp1.OnResize = function()
alst1.Height = mfp1.Height - 20 * DP1
alst1.Width = mfp1.Width
alst1.Left = 0 * DP1
alst1.Top = 5 * DP1
scbt6.Top = mfp1.Height - 15
movX = alst1.Width - 5
if scbt6.Left > movX - scbt6.Width then
scbt6.Left = movX - scbt6.Width
elseif scbt6.Left < 0 then
scbt6.Left = 0
end
if scbt6.Left < mfp1.Width and scbt6.Left >= 0 then
-- Keep horizontal scroll bar position fixed
end
hdrSectLen()
end
-----------------------------------------------------
-- Address List Scroll
local moving = false
local start = {
relx = 0,
rely = 0,
end2 = 0
}
scbt6.OnMouseDown = function(sender, button, x, y)
moving = true
start.x, start.y = sender.clientToScreen(x, y)
start.relx = x
start.rely = y
end
scbt6.OnMouseMove = function(sender, x, y)
if moving then
scbt6.Top = mfp1.Height - 15
start.end2 = mfp1.Width - 50
local cx, cy = sender.clientToScreen(x, y)
local px, py = sender.parent.ScreenToClient(cx, cy)
hdrSectLen()
local newx, newy
newy = py - start.rely
newx = px - start.relx
x10 = sender.Left * 2
alst1.Left = 10 - x10 --+ 5
alst1.Width = movX + x10 - 5
scbtlftx = mfp1.Width
if newx < 4 then
newx = 5
end
if newx > start.end2 then
newx = start.end2
end
-- print(newx)
sender.Left = newx
end
end
scbt6.OnMouseUp = function(sender)
moving = false
end |
We've reached the end of another topic.
(I hope I don't get a warning from @DarkByte for posting too many articles..
)
Until we meet again in another topic, enjoy it.
Note: If my ideas or solutions were useful to you, please click the "Thumbs Up" icon under my profile picture (It's a free action) and don't forget to give me credit. Thanks. _________________ Hi Hitler Different Trainer forms for you!
https://forum.cheatengine.org/viewtopic.php?t=619279
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
|
|