Столкнулся с проблемой при работе на одной вкладке с компонентами TMultiview и Tmap (или TWebBrowser). Когда TMultiview является всплывающим Tmap в интерфейсе «выше», чем меню TMultiview и, таким образом, перекрывают его. Я играл с TLayout, но это не помогло. Как заставить TMultiview всегда быть "сверху" компонентов Tmap или TWebBrowser в форме?
Код формы FMX:
object FormMain: TFormMain
Left = 0
Top = 0
Caption = 'Main'
ClientHeight = 633
ClientWidth = 380
FormFactor.Width = 1280
FormFactor.Height = 1024
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
OnDestroy = FormDestroy
DesignerMasterStyle = 3
object ToolBar1: TToolBar
Size.Width = 380.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object Title: TLabel
Align = Contents
StyledSettings = [Family, Style, FontColor]
Size.Width = 380.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
StyleLookup = 'toollabel'
TextSettings.Font.Size = 17.000000000000000000
TextSettings.HorzAlign = Center
Text = 'WMK'
end
object btnMasterMenu: TButton
Align = Right
StyledSettings = [Family, Size, Style, FontColor, Other]
Margins.Left = 5.000000000000000000
Position.X = 332.000000000000000000
Size.Width = 48.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
StyleLookup = 'drawertoolbutton'
TabOrder = 1
Text = 'Delete'
OnClick = btnMasterMenuClick
end
object btnAdd: TButton
Align = Left
Margins.Right = 5.000000000000000000
Size.Width = 48.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
StyleLookup = 'addtoolbuttonbordered'
TabOrder = 3
Text = 'btnAdd'
OnClick = btnAddClick
end
end
object TabControl: TTabControl
Align = Client
Size.Width = 380.000000000000000000
Size.Height = 585.000000000000000000
Size.PlatformDefault = False
TabHeight = 49.000000000000000000
TabIndex = 1
TabOrder = 20
TabPosition = PlatformDefault
Sizes = (
380s
536s
380s
536s
380s
536s
380s
536s)
object TabRegister: TTabItem
CustomIcon = <
item
end>
IsSelected = False
Size.Width = 95.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'Register'
ExplicitSize.cx = 128.000000000000000000
ExplicitSize.cy = 49.000000000000000000
object SpeedButton_Register: TSpeedButton
Hint = 'Register'
Position.X = 184.000000000000000000
Position.Y = 232.000000000000000000
Text = 'Register'
OnClick = SpeedButton_RegisterClick
end
object SpeedButton_Logon: TSpeedButton
Hint = 'Register'
Position.X = 72.000000000000000000
Position.Y = 232.000000000000000000
Text = 'Logon'
OnClick = SpeedButton_LogonClick
end
object Label_UN: TLabel
Position.X = 24.000000000000000000
Position.Y = 120.000000000000000000
Size.Width = 121.000000000000000000
Size.Height = 23.000000000000000000
Size.PlatformDefault = False
TextSettings.Font.Family = '(Default)'
Text = 'User name:'
TabOrder = 4
object Edit_username: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 0
Position.X = 112.000000000000000000
Position.Y = -8.000000000000000000
Hint = 'Enter User name'
Size.Width = 185.000000000000000000
Size.Height = 32.000000000000000000
Size.PlatformDefault = False
TextPrompt = 'Mike'
object EllipsesEditButton1: TEllipsesEditButton
CanFocus = False
Cursor = crArrow
TabOrder = 0
end
end
end
object LabelUE: TLabel
Position.X = 24.000000000000000000
Position.Y = 24.000000000000000000
Size.Width = 121.000000000000000000
Size.Height = 23.000000000000000000
Size.PlatformDefault = False
Text = '* E-mail:'
TabOrder = 3
object Edit_usermail: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 1
Position.X = 120.000000000000000000
Position.Y = -9.000000000000000000
Hint = 'Enter e-mail'
Size.Width = 177.000000000000000000
Size.Height = 32.000000000000000000
Size.PlatformDefault = False
TextPrompt = 'e-mail@email.com'
end
end
object LabelUP: TLabel
Position.X = 24.000000000000000000
Position.Y = 64.000000000000000000
Size.Width = 105.000000000000000000
Size.Height = 23.000000000000000000
Size.PlatformDefault = False
Text = '* Password:'
TabOrder = 5
object Edit_userpass: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 0
Position.X = 120.000000000000000000
Position.Y = -1.000000000000000000
Hint = 'Enter password'
Size.Width = 177.000000000000000000
Size.Height = 32.000000000000000000
Size.PlatformDefault = False
TextPrompt = 'password'
object PasswordEditButton1: TPasswordEditButton
CanFocus = False
Cursor = crArrow
Size.Width = 57.000000000000000000
Size.Height = 28.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Text = 'password'
end
end
end
object CheckBoxParentReg: TCheckBox
Position.X = 136.000000000000000000
Position.Y = 159.000000000000000000
Size.Width = 169.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 6
Text = 'Register as a kid'
OnChange = CheckBoxParentRegChange
end
object Label_parentReg: TLabel
Position.X = 16.000000000000000000
Position.Y = 192.000000000000000000
Size.Width = 353.000000000000000000
Size.Height = 33.000000000000000000
Size.PlatformDefault = False
Text = 'My parent e-mail:'
TabOrder = 2
object Edit_parentReg: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 1
Position.X = 152.000000000000000000
Position.Y = -1.000000000000000000
Hint = 'Enter e-mail'
Size.Width = 177.000000000000000000
Size.Height = 32.000000000000000000
Size.PlatformDefault = False
TextPrompt = 'e-mail@email.com'
end
end
end
object TabClient: TTabItem
OnTap = TabClientTap
CustomIcon = <
item
end>
IsSelected = True
Size.Width = 95.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'Client'
ExplicitSize.cx = 96.000000000000000000
ExplicitSize.cy = 49.000000000000000000
object Layout_client: TLayout
Align = Contents
Size.Width = 380.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object Label_client_KN: TLabel
Align = Top
Size.Width = 380.000000000000000000
Size.Height = 30.000000000000000000
Size.PlatformDefault = False
TextSettings.HorzAlign = Center
Text = 'Kid name'
TabOrder = 0
end
object MapView1: TMapView
Align = Bottom
Position.Y = 280.000000000000000000
Size.Width = 380.000000000000000000
Size.Height = 256.000000000000000000
Size.PlatformDefault = False
MapType = Terrain
LayerOptions = [Buildings, UserLocation, Traffic]
object FloatAnimation1: TFloatAnimation
Enabled = True
Duration = 0.200000002980232200
PropertyName = 'Zoom'
StartValue = 0.000000000000000000
StopValue = 0.000000000000000000
end
end
object WebBrowser1: TWebBrowser
Position.X = 48.000000000000000000
Position.Y = 216.000000000000000000
end
end
object MultiViewClient: TMultiView
DrawerOptions.Placement = Right
SplitViewOptions.Placement = Right
ClipParent = True
Size.Width = 250.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
Visible = False
TabOrder = 1
object ListBox_ClientMenu: TListBox
Align = Client
Size.Width = 250.000000000000000000
Size.Height = 495.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
DisableFocusEffect = True
Images = ImageList1
DefaultItemStyles.ItemStyle = ''
DefaultItemStyles.GroupHeaderStyle = ''
DefaultItemStyles.GroupFooterStyle = ''
OnItemClick = ListBox_ClientMenuItemClick
Viewport.Width = 250.000000000000000000
Viewport.Height = 495.000000000000000000
object ListBoxItemAddChild: TListBoxItem
Size.Width = 250.000000000000000000
Size.Height = 41.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Text = 'Add parent'
OnClick = ListBoxItemAddChildClick
end
object ListBoxItemLogout: TListBoxItem
Position.Y = 41.000000000000000000
Size.Width = 250.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Text = 'Logout'
OnClick = ListBoxItemLogoutClick
end
end
object Label_client_menu: TLabel
Align = Top
Size.Width = 250.000000000000000000
Size.Height = 41.000000000000000000
Size.PlatformDefault = False
TextSettings.HorzAlign = Center
Text = 'Menu'
TabOrder = 1
end
end
end
object TabService: TTabItem
CustomIcon = <
item
end>
IsSelected = False
Size.Width = 95.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'Service'
OnClick = TabServiceClick
ExplicitSize.cx = 128.000000000000000000
ExplicitSize.cy = 49.000000000000000000
object Layout1: TLayout
Align = Client
Size.Width = 380.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object MemoServiceLog: TMemo
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
DataDetectorTypes = []
TextSettings.WordWrap = True
Align = Client
Size.Width = 380.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Viewport.Width = 372.000000000000000000
Viewport.Height = 528.000000000000000000
end
end
object MultiViewService: TMultiView
DrawerOptions.Placement = Right
SplitViewOptions.Placement = Right
Size.Width = 250.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
Visible = False
TabOrder = 1
object ListBoxService: TListBox
Align = Client
Size.Width = 250.000000000000000000
Size.Height = 536.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
DisableFocusEffect = True
DefaultItemStyles.ItemStyle = ''
DefaultItemStyles.GroupHeaderStyle = ''
DefaultItemStyles.GroupFooterStyle = ''
OnItemClick = ListBoxServiceItemClick
Viewport.Width = 250.000000000000000000
Viewport.Height = 536.000000000000000000
object ListBoxItemGPSStart: TListBoxItem
TabOrder = 0
Text = 'Start GPS Service'
OnClick = ListBoxItemGPSStartClick
end
object ListBoxItemGetGPS: TListBoxItem
Position.Y = 44.000000000000000000
TabOrder = 1
Text = 'Get GPS Last. db'
OnClick = ListBoxItemGetGPSClick
end
object ListBoxItemGetGPSSrv: TListBoxItem
Position.Y = 88.000000000000000000
TabOrder = 9
Text = 'Get GPS Last. srv'
end
object ListBoxItemTakeGPS: TListBoxItem
Position.Y = 132.000000000000000000
TabOrder = 8
Text = 'Take GPS'
OnClick = ListBoxItemTakeGPSClick
end
object ListBoxItemReadCfg: TListBoxItem
Position.Y = 176.000000000000000000
TabOrder = 2
Text = 'Read Cfg'
OnClick = ListBoxItemReadCfgClick
end
object ListBoxItemReadLoc: TListBoxItem
Position.Y = 220.000000000000000000
TabOrder = 3
Text = 'Read Loc'
OnClick = ListBoxItemReadLocClick
end
object ListBoxItemFTPUp: TListBoxItem
Position.Y = 264.000000000000000000
TabOrder = 5
Text = 'Upload DB to FTP'
OnClick = ListBoxItemFTPUpClick
end
object ListBoxItemClearLog: TListBoxItem
Position.Y = 308.000000000000000000
TabOrder = 6
Text = 'Clear Log'
OnClick = ListBoxItemClearLogClick
end
object ListBoxItemSavelog: TListBoxItem
Position.Y = 352.000000000000000000
TabOrder = 10
Text = 'Save log'
OnClick = ListBoxItemSavelogClick
end
object ListBoxItem1: TListBoxItem
TextSettings.HorzAlign = Center
StyledSettings = [Family, Size, Style, FontColor]
Locked = True
Position.Y = 396.000000000000000000
TabOrder = 7
Text = '--------------'
end
object ListBoxItemClearCfg: TListBoxItem
TextSettings.Font.Family = '(Default)'
TextSettings.Font.StyleExt = {00070000000000000004000000}
StyledSettings = [Size, FontColor, Other]
Position.Y = 440.000000000000000000
TabOrder = 4
Text = 'Clear Config'
OnClick = ListBoxItemClearCfgClick
end
object ListBoxItemclearLoc: TListBoxItem
TextSettings.Font.StyleExt = {00070000000000000004000000}
StyledSettings = [Family, Size, FontColor, Other]
Position.Y = 484.000000000000000000
TabOrder = 11
Text = 'Clear Location'
OnClick = ListBoxItemclearLocClick
end
end
end
end
object TabTEST: TTabItem
CustomIcon = <
item
end>
IsSelected = False
Size.Width = 95.000000000000000000
Size.Height = 49.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'TEST'
ExplicitSize.cx = 96.000000000000000000
ExplicitSize.cy = 49.000000000000000000
object SpeedButton1: TSpeedButton
Position.X = 80.000000000000000000
Position.Y = 7.000000000000000000
Size.Width = 153.000000000000000000
Size.Height = 48.000000000000000000
Size.PlatformDefault = False
Text = 'SpeedButton1'
OnClick = SpeedButton1Click
end
object Memo1: TMemo
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
DataDetectorTypes = []
Position.X = 24.000000000000000000
Position.Y = 87.000000000000000000
Size.Width = 337.000000000000000000
Size.Height = 426.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Viewport.Width = 329.000000000000000000
Viewport.Height = 418.000000000000000000
end
end
end
object BindSourceDB1: TBindSourceDB
ScopeMappings = <>
Left = 32
Top = 208
end
object FDQuery: TFDQuery
Connection = FDConnection
SQL.Strings = (
'SELECT * FROM locations;')
Left = 168
Top = 460
end
object FDConnection: TFDConnection
Params.Strings = (
'Database=C:\Projects\WhereIsMyKid\Frontend\wmk.s3db'
'DriverID=SQLite')
LoginPrompt = False
AfterConnect = FDConnectionAfterConnect
BeforeConnect = FDConnectionBeforeConnect
Left = 168
Top = 412
end
object IdFTP1: TIdFTP
IPVersion = Id_IPv4
Host = '185.58.193.5'
Passive = True
PassiveUseControlHost = True
ConnectTimeout = 10000
Password = 'wmkpassword'
TransferType = ftBinary
TransferTimeout = 30000
Username = 'wmk.ftp'
NATKeepAlive.UseKeepAlive = False
NATKeepAlive.IdleTimeMS = 0
NATKeepAlive.IntervalMS = 0
ProxySettings.ProxyType = fpcmNone
ProxySettings.Port = 0
Left = 312
Top = 400
end
object RESTClient1: TRESTClient
Authenticator = OAuth2Authenticator1
Accept = 'application/json, text/plain; q=0.9, text/html;q=0.8,'
AcceptCharset = 'utf-8, *;q=0.8'
BaseURL = 'http://185.58.193.5:8099'
ContentType = 'application/json'
Params = <>
Left = 96
Top = 408
end
object RESTRequest1: TRESTRequest
Client = RESTClient1
Method = rmPOST
Params = <>
Response = RESTResponse1
Timeout = 10000
OnAfterExecute = RESTRequest1AfterExecute
SynchronizedEvents = False
OnHTTPProtocolError = RESTRequest1HTTPProtocolError
Left = 96
Top = 464
end
object RESTResponse1: TRESTResponse
ContentType = 'application/json'
Left = 96
Top = 512
end
object OAuth2Authenticator1: TOAuth2Authenticator
Left = 96
Top = 568
end
object ImageList1: TImageList
Source = <
item
MultiResBitmap.Height = 36
MultiResBitmap.Width = 36
MultiResBitmap.TransparentColor = 12639424
MultiResBitmap = <
item
Width = 36
Height = 36
PNG = {
89504E470D0A1A0A0000000D4948445200000024000000240806000000E10098
98000000017352474200AECE1CE90000000467414D410000B18F0BFC61050000
057F494441545847E5976B6C544514C7CFCCDCD9DDDB5D9074AD96BE96456A8D
F808110D26103E08080413AD9A6822468D418D5F4011AB18086A144C1AE30B8C
4F5ED1184404FD640884884FE4191E06FBA02D2D055A9676DBDBDDBDF7CE78E6
EE88A926B777DBF2C1F84B263B33F7CCCC7FCF3933732FFC6FF8B87452892ABA
1918AA7F479D10758A39CD554B00A2BB0271D9044922CA09A5B3B614B8C66513
0484CE102027DF0F20744F202E8BA0F59595D748472EC2C92F62BC306AC11975
419F2612E3A8206B89016592C04FBA3B30A32A6863555592B9E23320640E91E4
04117CA77E14985113B4697C720611742B009B076ECEC6247A6D617BC369F56C
435959FCA378CD18CF7008462C68F7CC99C6C68AAAA72595DB0885298C822034
B462617BF3666D0206E72566917DB36EFA322241A9E713134266EB874688BE1B
36211EB2B336E3F2A585ED2DABB5890789B0188BC839BAE9CBB0055D5C969C7D
F420EC683F058F448A2870938011375F7DA0B1E5756D72895844148722305D37
7D2958905C09345D97587CEC30D976AE83DD684609E062100AC15BB5479B5ED6
6683400F4EA10C12BAE94B4182C4920AD3B227BC71601FABBFD045A2B1312826
8C9EE1B083DBD6726D3688DD33AF8F314E6A4D9376E92E5F020B928B6EE1B9A8
517FA6833C9B1D20B4280AC0C358B868624C3E77E791B3FDDAF41FE4EE46C1B7
310E7B74872F810559F1AEE596054F75761008AB10A11822415046DE9EBDB7F9
A4361BC4DE5935658CCA15590E32C46197EEF62590A0BEBAC45CDCCB4BBBBB18
483C7EC311899E01304D68C46DBE4D9B0DE2E7B993C61ADC798747A0BA98C251
2EC541FDC8972105C9958908DE462F4A07A2561F403884496A10600C0773D934
7D67539B36BDC48FF7559818CA7AC3805A259C8661FBEDBB9ACFEAC7BE0C29A8
D7A2B3984166643298D4E81D9537CC503B07F327441227EEA92AD5A61E476AAB
279A32BC8972FA38E60E50C36E33B8DCA81F0F89EFCBD3B92726569330A9E306
3CD6D38B670FDEDDCA33F85AF1F73F9164139ED06FAAAA90F20E29611195500D
343FB510E2859BB6340D3A28FDF015D4FEE8B5CB84A44FE282C98CE342CEC657
1B3D0217452DF93A563B55157F4B074F28F7F4F70ECC9FFAED194B770C896FC8
FA7B8D695D693621D383C9ECE279A3C284E152851A127349156C33598ABFA5AA
5FB555A106A4A894CB0A11A3F015944BD122A387112BC54064317FB8F442C650
08E695AEEBC2F4332C59062EA77255CDE7CDBFEAA902E3EFA11475B317286470
BB3BFDCC5B18AF004C0F25262F80E20C8CE95DE70992106362733251F99E9EA6
207C053969FABB9512DDD9348AEA3600D7CD87492D8C23F362F2423C31F9D90E
CB90A823ABF6385EAB40FC053163AB6B183FD8B8585FDA001763815BD8F342DE
2B5830BB2FB56D99A29C2C49AE6DE9D453148CAFA0684CEE73197CE3A0202BC7
A0F77CC84B58DC759E10AA842841AAE03D025178BF725DE36E3D7C58F80A9ABA
7FBF9D73C4F60C711A050AE96C0B8393C5771FF49212A506533C6FBCBA74FF10
2E59971F397C7C0529E6371C3A2F09AB575EEAE9E3D0D210C56D9F0F13F5BC83
DEC2242706FBAE625DE3BFAE914219529082DBBD9FD812BE7243129A5B23701A
4B3422BCF0A9839262B830B91BF2D6232390A0F90D0D599BCAC53611DF3BE88D
C3C7AF8053AD4510090BCF5BD88545DCA0CD474420418A078FFDD6E648F99060
E2CB8CC02FC043635158FECBA648798B907BD3CF24F1CB79640CBE7A02F0C5B4
69667F1F3C6C0BB944085A73F59539983CD182F2AB3240B8936682BC6281F141
F19AA61E3DA4200A16F4171BAEBB353EC061819D33E64906D34BC639E5152519
88857362526576BDCBC5D271AB5B53DA3C30B87786C7D75D1D0377558E3F2E5C
7912DF08AC8B164B755F08B7F2883C521E770E812D0FACF9A507DFA2FED300FC
091FA3DEB3FE7C3FDD0000000049454E44AE426082}
FileName =
'C:\Users\Admin\Documents\Embarcadero\Studio\20.0\Samples\Object ' +
'Pascal\Multi-Device Samples\Device Sensors and Services\CapitalI' +
'AP\Android\Debug\CapitalTrivia\res\drawable-ldpi\ic_launcher.png'
end>
Name = 'Item 0'
end>
Destination = <>
Left = 32
Top = 137
end
end