-
Постов
65 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Просто Проги
-
-
О как а нет примера как им пользоваться, я пишу ListBox1.Selected.FindComponent('listlabel2.text');
Но получаю ошибки ( пробовал читать про это свойство но так и не понял как это должно работать (
-
Собственно вопрос всё ещё копаю в сторону listbox сделал такой listbox
var
listitem:Tlistboxitem;
listimg1:Timage;
listlabel1:Tlabel;
listLayout:Tlayout;
progres:TProgressBar;
but:TSpeedButton;begin
listitem:=TListBoxItem.Create(ListBox1);
listitem.Parent:=ListBox1;
listitem.Height:=50;
listimg1:=TImage.Create(listitem);
listimg1.Parent:=listitem;
listimg1.Width:=50;
listimg1.Height:=50;
listimg1.Align:=TAlignLayout.Left;
listimg1.Bitmap:=Image1.Bitmap;
//
but:=TSpeedButton.Create(listitem);
but.Parent:=listitem;
but.StyleLookup:='myControl';
but.Align:=TAlignLayout.Right;listLayout:=TLayout.Create(listitem);
listLayout.Parent:=listitem;
listLayout.Align:=TAlignLayout.Client;listlabel1:=TLabel.Create(listLayout);
listlabel1.Parent:=listLayout;
listlabel1.Align:=TAlignLayout.Top;
listlabel1.Height:=25;
listlabel1.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style];
listlabel1.TextSettings.Font.Size:=12;
listlabel1.TextSettings.FontColor:=TAlphaColorRec.White;
listlabel1.Text:='event';
end;
finally
ListBox1.EndUpdate;как получить доступ к кнопке в созданном listbox ? или хотя бы как получить текст в listlabel1 в выбранном item.
поидее должно работать item.selected но что то опять не работает или я туплю)
-
-
не этот способ не работает это для vcl а у меня firemonkey
-
Как перемешать форму если стиль установлен BSnone ?
-
перешел на 5 версию там таких ошибок нет)
-
собственно поставил я 10 версию) но проблема не исчезла))
var
item: TMetropolisUIListBoxItem;
i:integer;
begin
for I := 0 to 100 do beginitem :=TMetropolisUIListBoxItem.Create(ListBox1);
item.Title:='Title';
item.SubTitle:='sub';
//item.Description:=dua;
//ListBox1.AddObject(item);
item.Parent := ListBox1;
end;
end;таким образом я запомнил всё норм но стоит мне немного проскролить а потом закрыть то будет ошибка в модуле System
procedure TObject.FreeInstance;
begin
CleanupInstance;
_FreeMem(Pointer(Self));
end;чего ей надо??)
-
да походу надо обновляться, но жалко уже почти прога готова)
-
Верхний код спокойно работает в delphiXE5 только что проверил в delphi Xe8 invalid pointer operation( чего они нового такого придумали ?
-
Не разницы не какой я так пробывал
-
Привет всем может кто подскажет что не так создаю процедуру для добавления
var
item: TMetropolisUIListBoxItem;
begin
item :=TMetropolisUIListBoxItem.Create(Form1);
item.Title:='Title';
item.SubTitle:='sub';
item.Description:=dua;
ListBox1.AddObject(item);end;
Всё добавляется,но когда я пытаюсь закрыть программу то падает ошибка
procedure TObject.FreeInstance;
begin
CleanupInstance;
_FreeMem(Pointer(Self));// на этой строке ошибка
end;Как я понял что ошибка связана с памятью как можно правильно освободить память? и избавиться от этой ошибки )
Как получить доступ к выбранному элементу и свойствам listbox созданому в run time
в Доступ к итемам
Опубликовано
пусто ошибок нет но и нечего не выводит вообще не понимаю чего не так вот полный код unit
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.ListView.Types, FMX.ListView.Appearances, FMX.ListView.Adapters.Base,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.ListView, System.Rtti,
System.Bindings.Outputs, Data.Bind.EngExt, Fmx.Bind.DBEngExt, FMX.Layouts,
FMX.ListBox, Data.Bind.Components, FMX.Objects;
type
TForm1 = class(TForm)
Button1: TButton;
BindingsList1: TBindingsList;
ListBox1: TListBox;
Image1: TImage;
Image2: TImage;
StyleBook1: TStyleBook;
SpeedButton1: TSpeedButton;
Button2: TButton;
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var
listitem:Tlistboxitem;
listimg1,listimg2:Timage;
listlabel1,listlabel2,listlabel3:Tlabel;
listLayout:Tlayout;
progres:TProgressBar;
but:TSpeedButton;
i:integer;
implementation
{$R *.fmx}
procedure TForm1.Button2Click(Sender: TObject);
var
lbItemSel: TListBoxItem;
var n: Integer;
i:integer;
begin
//Form1.Caption:=ListBox1.ItemIndex.ToString;
//ListBox1.ItemIndex:=ListBox2.ItemIndex;
// lbItemSel := ListBox1. Selected ;
// if ( lbItemSel is TListBoxItem ) then
// begin
// Form1.Caption := TListBoxItem.sty
// listitem ( lbItemSel ).but.caption ;
// Button2Click(self);
//form1.Caption:=ListBox1.ItemIndex.ToString();
if (ListBox1.Selected.FindComponent('listlabel1') is Tlabel) then
Form1.Caption:= (ListBox1.Selected.FindComponent('listlabel1') as Tlabel).Text;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ListBox1.BeginUpdate;
for I := 0 to 100 do begin
listitem:=TListBoxItem.Create(ListBox1);
listitem.Parent:=ListBox1;
listitem.Height:=80;
listimg1:=TImage.Create(listitem);
listimg1.Parent:=listitem;
listimg1.Width:=50;
listimg1.Height:=50;
listimg1.Align:=TAlignLayout.Left;
listimg1.Bitmap:=Image1.Bitmap;
listimg1.Margins.Left:=5;
listimg1.Margins.Top:=5;
listimg1.Margins.Bottom:=5;
//
listimg2:=TImage.Create(listitem);
listimg2.Parent:=listitem;
listimg2.Width:=50;
listimg2.Height:=50;
listimg2.Align:=TAlignLayout.Right;
// progres:=TProgressBar.Create(listitem);
// progres.Parent:=listitem;
// progres.Width:=500;
// progres.Height:=25;
// progres.Align:=TAlignLayout.Center;
// progres.Value:=10;
//
but:=TSpeedButton.Create(listitem);
but.Parent:=listitem;
but.StyleLookup:='pausebutton';
but.Width:=50;
but.Height:=50;
but.Margins.Right:=10;
but.Align:=TAlignLayout.Right;
but.OnClick := Button2Click;
listLayout:=TLayout.Create(listitem);
listLayout.Parent:=listitem;
listLayout.Align:=TAlignLayout.Client;
listlabel1:=TLabel.Create(listLayout);
listlabel1.Parent:=listLayout;
listlabel1.Align:=TAlignLayout.Top;
listlabel1.Height:=25;
listlabel1.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style];
listlabel1.TextSettings.Font.Size:=12;
listlabel1.TextSettings.FontColor:=TAlphaColorRec.White;
listlabel1.Text:=IntToStr(Random(100));
listlabel2:=TLabel.Create(listLayout);
listlabel2.Parent:=listLayout;
listlabel2.Align:=TAlignLayout.Top;
listlabel2.Height:=25;
listlabel2.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style];
listlabel2.TextSettings.Font.Size:=10;
listlabel2.TextSettings.FontColor:=TAlphaColorRec.Gray;
listlabel2.Text:='00:00';
listlabel3:=TLabel.Create(listLayout);
listlabel3.Parent:=listLayout;
listlabel3.Align:=TAlignLayout.Top;
listlabel3.Height:=25;
listlabel3.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style];
listlabel3.TextSettings.Font.Size:=15;
listlabel3.TextSettings.FontColor:=TAlphaColorRec.Gray;
listlabel3.Text:='00:00';
// listlabel2.Visible:=false;
ListBox1.EndUpdate;
end;
end;
end.