Tmap и TWebBrowser перекрывают TMultiview, для Android и Windows - PullRequest
0 голосов
/ 28 апреля 2020

Столкнулся с проблемой при работе на одной вкладке с компонентами 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

...