728x90
출처 : Firemonkey Styles - Felix John COLIBRI.
Working with Native and Custom FireMonkey Styles
Step 3 - Add Style-Resources as RCDATA (Delphi)
동영상 - FireMonkey - Style lookup& costom listbox item
style
object TLayout StyleName = 'Layout1' DesignVisible = False Height = 32.000000000000000000 Position.X = 499.000000000000000000 Position.Y = 196.000000000000000000 Width = 155.000000000000000000 object TButton StyleName = 'Button1' Align = alRight Height = 32.000000000000000000 Position.X = 75.000000000000000000 TabOrder = 1 Width = 80.000000000000000000 end object TActiveStyleTextObject StyleName = 'text' Align = alClient Color = claBlack Height = 17.000000000000000000 HorzTextAlign = taLeading Margins.Left = 3.000000000000000000 Margins.Top = 1.000000000000000000 Margins.Right = 3.000000000000000000 Margins.Bottom = 1.000000000000000000 Width = 190.000000000000000000 WordWrap = False Shadow.Color = claNull ShadowVisible = False ActiveTrigger = stSelected ActiveColor = claBlack ActiveShadow.Color = claNull end end
예제
procedure TForm1.FormCreate(Sender: TObject); var _Item : TListBoxItem; begin Self.OnGetMoveControl := GetMoveControl; _Item := TListBoxItem.Create(nil); _Item.Parent := ListBox1; _Item.StyleLookup := 'layout1'; _Item.Text := 'a'; (_Item.FindStyleResource('button1') as TButton).Text := 'test'; (_Item.FindStyleResource('button1') as TButton).OnClick := ItemButtonClick; end; procedure TForm1.ItemButtonClick(Sender: TObject); var VP: TPointF; begin VP := (Sender as TButton).LocalToAbsolute((Sender as TButton).Position.Point); VP := (Sender as TButton).Scene.LocalToScreen(VP); { VP := (Sender as TButton).Position.Point; VP := (Sender as TButton).Scene.LocalToScreen(VP); } PopupMenu1.Popup(50, 50); // 모바일에서는 동작하지 않음 ComboBox1.DropDown; end;
728x90