我的代碼工作和拖放,但我想要添加的是拖放項目從ListBox1到ListBox2與他們的圖像。另外當我想重新排列ListBox2中的項目時,它將重複,而不刪除前一個。從ListBox1拖放ListBoxItems到ListBox2與他們的圖像,並避免重複德爾福
或者如果可能的話,我很想知道如何將項目從ListBox1移動到ListBox2只需雙點擊無需拖放。
我使用的是10.2版本
這裏是我的代碼,我將不勝感激,如果有人能幫助我:
type
TListBoxItem = class(FMX.ListBox.TListBoxItem)
private
function GetData: String;
procedure SetData(const Value: String);
published
property Data:String Read GetData Write SetData;
end;
var
Form13: TForm13;
procedure TForm13.ListBox3DragDrop(Sender: TObject; const Data: TDragObject;
const Point: TPointF);
var
T,D:TListBoxItem;
Begin
ListBox3.ItemHeight:=81;
ListBox3.Canvas.Font.Size:=20;
T:= TListBoxItem.Create(nil);
D:= TListBoxItem(Data.Source);
T.Data:= D.Data;
ListBox3.AddObject(T);
end;
procedure TForm13.ListBox3DragOver(Sender: TObject; const Data: TDragObject;
const Point: TPointF; var Operation: TDragOperation);
begin
if (Sender is TListBoxItem) and (Data.Source is TListBoxItem) and (Sender is TImage)
and Not (Sender = Data.Source)
and (TListBoxItem(Data.Source).Text<>'')
then Operation:=TDragOperation.Move
else Operation:=TDragOperation.None;
end;
{ TListBoxItem }
function TListBoxItem.GetData: String;
begin
Result := Text;
end;
procedure TListBoxItem.SetData(const Value: String);
begin
Text:=Value;
end;
我在'TListboxItem'類聲明的基礎上添加了'firemonkey'標籤。每當你的問題涉及到firemonkey框架,在標籤中指明它,目標平臺可能是重要的知道,也是你正在使用的Delphi版本。後者是因爲去年發生了密集的發展。 –
好的,謝謝你,我會更具體地指出。這是我第一次發帖 – Samar
沒關係,我們都有了第一次,只要注意**所有**請求的細節。我會針對您的問題採取行動,但我要求您在帖子中包含如何填充第一個列表框。也刪除'OnDragOver'中的明顯不可能的東西(發件人不能同時是'TListBoxItem'和'TImage'!) –