TPageScrollerDemo 项目分析¶
项目信息¶
- 项目名称: TPageScrollerDemo
- 下载链接: TPageScrollerDemo.rar
- 分析时间: 2026-03-05
文件结构¶
TPageScrollerDemo/
├── Extractor_Icon.ico
├── Project1.py
├── Project1.xml
├── Unit1.py
├── Unit1.pydfm
├── Unit1.sct
├── Unit1.sfm
主程序文件: Project1.py¶
from glcl import *
from Unit1 import *
def main():
Application.Initialize()
Application.Title = 'Project1'
Application.MainFormOnTaskbar = True
Application.Icon.LoadFromFile(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Extractor_Icon.ico"))
MainForm = Form1(Application)
MainForm.Show()
FreeConsole()
Application.Run()
MainForm.Free()
if __name__ == '__main__':
main()
单元文件: Unit1.py¶
import os
from glcl import *
class Form1(Form):
def __init__(self, owner):
self.ImageList1 = ImageList(self)
self.ToolBar1 = ToolBar(self)
self.PageScroller1 = PageScroller(self)
self.LoadProps(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Unit1.pydfm"))
# 在PageScroller上面放置一个ToolBar控件,并可以设置AutoScroll为True
self.PageScroller1.AutoScroll = True
设计文件: Unit1.sct¶
设计文件: Unit1.sfm¶
object Form1: TForm
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 229
ClientWidth = 394
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Segoe UI'
Font.Style = []
TextHeight = 20
object PageScroller1: TPageScroller
Left = 0
Top = 0
Width = 394
Height = 45
Align = alTop
Control = ToolBar1
TabOrder = 0
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 382
Height = 45
Caption = 'ToolBar1'
Images = ImageList1
TabOrder = 0
object ToolButton1: TToolButton
Left = 0
Top = 0
Caption = 'ToolButton1'
ImageIndex = 0
end
object ToolButton2: TToolButton
Left = 23
Top = 0
Caption = 'ToolButton2'
ImageIndex = 1
end
object ToolButton3: TToolButton
Left = 46
Top = 0
Caption = 'ToolButton3'
ImageIndex = 2
end
object ToolButton5: TToolButton
Left = 69
Top = 0
Caption = 'ToolButton5'
ImageIndex = 0
end
object ToolButton6: TToolButton
Left = 92
Top = 0
Caption = 'ToolButton6'
ImageIndex = 1
end
object ToolButton7: TToolButton
Left = 115
Top = 0
Caption = 'ToolButton7'
ImageIndex = 2
end
object ToolButton4: TToolButton
Left = 138
Top = 0
Width = 8
Caption = 'ToolButton4'
ImageIndex = 1
Style = tbsSeparator
end
object ToolButton8: TToolButton
Left = 146
Top = 0
Caption = 'ToolButton8'
ImageIndex = 0
end
object ToolButton10: TToolButton
Left = 169
Top = 0
Caption = 'ToolButton10'
ImageIndex = 2
end
object ToolButton9: TToolButton
Left = 192
Top = 0
Caption = 'ToolButton9'
ImageIndex = 0
end
object ToolButton12: TToolButton
Left = 215
Top = 0
Caption = 'ToolButton12'
ImageIndex = 1
end
object ToolButton11: TToolButton
Left = 238
Top = 0
Width = 8
Caption = 'ToolButton11'
ImageIndex = 5
Style = tbsSeparator
end
object ToolButton13: TToolButton
Left = 246
Top = 0
Width = 8
Caption = 'ToolButton13'
ImageIndex = 7
Style = tbsSeparator
end
object ToolButton14: TToolButton
Left = 254
Top = 0
Caption = 'ToolButton14'
ImageIndex = 2
end
object ToolButton15: TToolButton
Left = 277
Top = 0
Caption = 'ToolButton15'
ImageIndex = 0
end
object ToolButton16: TToolButton
Left = 300
Top = 0
Caption = 'ToolButton16'
ImageIndex = 1
end
object ToolButton17: TToolButton
Left = 323
Top = 0
Caption = 'ToolButton17'
ImageIndex = 2
end
object ToolButton19: TToolButton
Left = 346
Top = 0
Caption = 'ToolButton19'
ImageIndex = 0
end
object ToolButton18: TToolButton
Left = 369
Top = 0
Width = 8
Caption = 'ToolButton18'
ImageIndex = 12
Style = tbsSeparator
end
object ToolButton20: TToolButton
Left = 377
Top = 0
Caption = 'ToolButton20'
ImageIndex = 1
end
object ToolButton21: TToolButton
Left = 400
Top = 0
Caption = 'ToolButton21'
ImageIndex = 15
end
end
end
object ImageList1: TImageList
Left = 328
Top = 136
Bitmap = {
494C010103000800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
00000000000000000000000000000000000004020400DCDEDC0094B6AC0059AE
8C003CAE84001CBA7C000CBA740008B6740008B6740014BA7C002CAE7C004CAA
840077B29C00BCCAC40004020400040204000000000000000000000000000000
00000000000000000016010105660000000000000000000000010000033F0000
00160000000100000000000000000000000000000000765100FF734D00FF6F4A
00FF6C4700FF684400FF654100FF623F00FF5F3D00FF5C3B00FF593900FF5738
00FF553700FF563700FF4A2F00FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000003CAE840013B684001FC28C0024CA
94002CCE9C0034D2A40034D6AC003CDEB40044DEB4004CE6C4004CEAC40054EE
CC005CF2D40062F6DC002CCE9C00040204000000000000000000000000000000
0004040427A47E7E7EFF1E1E29FF00000000000000000000023A5F5F5FFF5858
58FF5D5D5DFF000000140000000000000000BD9A65FF8F6600FF8B6200FF875E
00FF835A00FF7F5700FF7B5300FF785000FF744C00FF714900FF6D4600FF6A44
00FF664200FF634000FF603E00FF492E00FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000CAE740014B27C001FBE8C001CC6
94002CCE9C002CD2A40034D6AC003CDAAC0044DEBC0044E2BC004CE6C40054EE
CC005CEED4005CF2DC0062F6DC00ACC2BC000000000000000000000000001E1E
29FF7E7E7EFF848484FF0000074F00000000000000027E7E7EFFA6A6A6FFA5A5
A5FF3F3F3FFF171717FF0000002400000000BE995DFF9D7400FF997000FF956C
00FF916800FF8D6400FF896000FF865D00FF825900FF7E5500FF7A5200FF764F
00FF734B00FF6F4800FF6C4600FF603D00FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000CAA740014AE7C001CBA840024C2
940024CA9C002BD29C0034D6A4003CDAAC0044DEB40044E2BC004CE6C40054EA
CC0054EECC005CF2D4005CF2D40077B29C0000000000000000000000012B7E7E
7EFF888888FFAAAAAAFF252525FF1E1E29FF1E1E29FF7E7E7EFFD1D1D1FF2626
25FF1E1E1EFF131413FF0000033B00000000C8A361FFA98000FFA57C00FFA681
00FF6E5000FF9A7100FF966D00FF926900FF8E6500FF8B6200FF875E00FF835A
00FF7F5600FF7B5300FF785000FF6B4600FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000003CB68C0011AA7C001CB684001FBE
8C0007BE8400FCFEFC000CCE94002CDAAC001CD6A4003CDEB4004CE6C4004CE6
C40054EACC0054EECC0054EED40044AA84000000000000000000000001327575
75FF757575FF7D7D7DFF242424FF252525FF828282FFFDFDFDFF848585FF2323
23FF272627FF1B1B1BFF0000000400000000CEAA66FFB28916FFB0870FFF2CEE
EAFF826300FFA87F00FFA47B00FFA07700FF9C7300FF997000FF956C00FF9168
00FF8D6400FF896000FF855C00FF775100FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000005ABA9C0049BA940007AE7C001CBA
840004BA8400FCFEFC00FCFEFC00FCFEFC00FCFEFC004CDEBC0044E2BC004CE6
BC004CE6C4004CEAC40054EACC0024B27C000000000000000000000000018080
80FF898989FFF8F8F8FF222222FF252525FFE6E6E6FFFFFFFFFF292A2AFF2928
28FF181818FF14142DE80000000000000000D3AF6AFFB89026FFCC970EFF00C7
C3FFB38A18FFB08812FFAE860AFF00B9B5FF553F00FFA47B00FFA27900FF9E75
00FF9A7100FF966D00FF926900FF835D00FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000089CAB4005ABA9C004CBE9C0007AE
7C00FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC002CDAAC0044DEB40044E2
BC0044E2BC004CE6C4004CE6C40014BA7C000000000000000000000000000000
1476787878FFDDDDDDFF1D1D1DFF6B6B6BFFFDFDFDFF1F1E1FFF2D302EFF1B1B
1BFF181918FF000001320000000000000000D9B56FFFBF9732FF82FFFFFFAFFF
FFFF00C9C9FF59430CFFB68D20FFB48B1CFF19F9F6FF553F03FF00E5E4FF4E3A
00FFA87F00FFA47B00FFA07700FF906A00FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A2D2C40058BE9C004CB69400FCFE
FC00FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC001CD2A4003CDEB4003CDE
B40044DEBC0044E2BC0044E2BC0008B674000000000000000000000000000000
0024747474FFA8A8A8FF161616FF656565FF141414FF313131FF434343FF1F20
1FFF1A1A1AFF000000070000000000000000DFBA74FFC1993BFF008F8CFFAE89
30FFBE9737FFD2AB3AFFBB932CFF58440FFF75FEFBFF513E09FFB8FFFFFF503C
05FFCFA113FF523D02FFAC8300FF9C7600FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000C6E2DC0074BEA4005CBEA4000CA6
7400FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC00B7EEDC0034D6AC003CDA
AC003CDEB4003CDEB4003CDEB40008B674000000000000000000000000000000
0013757575FF919191FF434343FFA4A4A4FF3F3F3FFF363534FF232325FF1C1C
1CFF181818FF000000040000000000000000E5BF78FFCAA344FF907C66FF00C0
BCFF73410AFF67501BFF00C6C4FF764F1AFFBD9D39FFBD952FFF00D6D3FF9E7B
21FFCC9508FF2CFEFBFF544007FFA37E13FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000DCEAE4007CC2AC0074C2AC0054B6
9C0006A27400FCFEFC00FCFEFC00C4EEE40064DEBC009CE6D4009CE6D400ECFE
FC0034D6AC003CDAAC003CDAAC001CB67C000000000000000000000000000000
0000727272FF166694FF105D8AFF898989FF323232FF404040FF444444FF3631
36FF191919FF000000000000000000000000EAC47CFFCFA84BFFCEA649FFCDA5
47FFB36A22FFC9A145FF00BDBAFF5D4918FF8A6D27FFE7A725FF230F0FFFBF97
33FFBB932FFF73A8B7FF5E4C10FFA98422FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000E4F2EC0094CAB40074BEAC0089CA
B4000CA26C00DCF6F4009CDAC4001FBE8C0024C29400C4F2E400F4FAFC00FCFE
FC00FCFEFC0034D6AC0034D6AC002CAE7C000000000000000000000000000000
000000000234737373FF313131FF151515FF363636FF2A2A2AFF2B2B2BFF0101
095600000008000000000000000000000000F0C880FFD4AD51FFD3AB4FFFD2AA
4EFFD0A94CFFCFA74AFFCAA54DFF51D5ECFFCAA244FF69F9F5FF7A6123FF25EE
EBFF63F8F4FF00F0EAFFC09835FFAF8A2DFF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000E4F2EC0094CABC0094CAB4007CC2
AC00149E7400049E6C0007AE7C001CB684001FBE8C006CDAB400B7EEDC00DCF6
F40084E6CC002BD29C002CD2A4004CAA84000000000000000000000000000000
000200000131383738FF131313FF0E0E0EFF101010FF383839FF2D2B2AFF1E1E
29FF00000000000000000000000000000000F4CC83FFD9B156FFD7B055FFD6AF
53FFD5AD52FFD4AC50FFD2AB4EFFD1A94DFFCFA84BFF2AE0F0FFCCA446FF008F
8CFF6F5821FFC69E3FFFC69E3EFFB59036FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000BCEADC00ACD6CC009CCEC40094CA
B40086C6B40034AA8400049E6C0007AE7C0013B684001CBA8C0070D6B400A8EA
D40024CA9C002CCE9C002CCE9C0077B29C0000000000000000101E1E29FF2D2D
2EFF2D597FFF2880CDFF2982CEFF2C8CD2FF2A9EE0FF24A8E9FF2BACE4FF2D36
3DFF2C3233FF1E1E29FF0000000700000000F8CF86FFDDB55AFFDCB459FFDAB3
58FFD9B257FFD8B156FFD7AF54FFD6AE53FFD4AD51FFD3AC4FFFD2AA4EFFECAB
26FF9FFFFFFFAD8B3BFFCCA446FFBA953EFF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000008CDABC00C4DED400ACD6CC009CCE
C40094CAB40086C6B4007CC6AC006CCAAC005CC6A4004CC6A40049C69C0034CA
9C002CCA940024CA940024CA9400B4C6BC0000000000161622EA1961A4FF1452
8EFF1D67ACFF2373BCFF2983CDFF2C98D9FF23B8F5FF21B0EFFF1F7CC1FF1860
A1FF165A9CFF195B9BFF0000001200000000FAD288FFE0B85DFFDFB75DFFDEB6
5CFFDDB55BFFDCB45AFFDBB358FFDAB257FFD9B156FFD7B055FFD6AF53FFD5AD
52FFD4AC50FFD2AB4EFFD1A94CFFBF9A44FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000001FBE8400CCE6DC00C4DED400ACD6
CC00A2D2C40089CAB4007CC6AC006FC6AC0064C6A4005CC6A4004CCA9C0049C6
9C003CC6940024CA94001FC68C00040204000000000000000000000000040000
012B1E1E29FF165799FF1B2E3DFF2E3840FFB3B8BDFF9DC1E1FF165A99FF0101
187B00000019000000010000000000000000FFECA8FFE3BB60FFE2BA5FFFE1B9
5FFFE0B95EFFDFB85DFFDFB75CFFDEB65BFFDDB55AFFDCB459FFDAB358FFD9B2
57FFD8B155FFD7AF54FFD6AE53FFB89545FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000040204001CBA7C006CD2AC00A4E6
CC00B7EEDC00D4EAE400CCE6DC00BADED400A0D6C40084CEB4005CCAA4003CC2
94001FBE840009BA7C0070AE9400040204000000000000000000000000000000
0000000000000000000700000442060624AA000009560000001C000000030000
0001000000000000000000000000000000000000000AFFDC95FFEEC876FFEEC8
76FFEEC776FFEDC775FFECC675FFECC675FFEBC574FFEAC473FFE9C372FFE8C2
72FFE7C171FFE6C070FFE0BA65FF000000250000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000100000000100010000000000800000000000000000000000
000000000000000000000000FFFFFF008001F083000000000000E08100000000
0000C000000000000000C001000000000000C001000000000000C00100000000
0000E003000000000000E003000000000000E003000000000000F00300000000
0000F007000000000000C0010000000000008001000000000000800100000000
0000C003000000008001F80F0000000000000000000000000000000000000000
000000000000}
end
end
其他文件¶
- Extractor_Icon.ico
- Project1.xml
详细分析¶
功能概述¶
GUI组件演示
使用的组件¶
- Form1 (TForm)
- PageScroller1 (TPageScroller)
- ToolBar1 (TToolBar)
- ToolButton1 (TToolButton)
- ToolButton2 (TToolButton)
- ToolButton3 (TToolButton)
- ToolButton5 (TToolButton)
- ToolButton6 (TToolButton)
- ToolButton7 (TToolButton)
- ToolButton4 (TToolButton)
- ToolButton8 (TToolButton)
- ToolButton10 (TToolButton)
- ToolButton9 (TToolButton)
- ToolButton12 (TToolButton)
- ToolButton11 (TToolButton)
- ToolButton13 (TToolButton)
- ToolButton14 (TToolButton)
- ToolButton15 (TToolButton)
- ToolButton16 (TToolButton)
- ToolButton17 (TToolButton)
- ToolButton19 (TToolButton)
- ToolButton18 (TToolButton)
- ToolButton20 (TToolButton)
- ToolButton21 (TToolButton)
- ImageList1 (TImageList)
技术特点¶
- 包含25个GUI组件
- 定义0个事件处理
窗体属性¶
- caption: ToolButton21
- height: 229
- width: 394
代码分析¶
导入的模块: - import os - from glcl import *
定义的类: - Form1
定义的方法: - init