我正在开发有关Lazarus的电子书管理器,但是我从未使用过的组件(TListBox)遇到了一些麻烦。在名为TListBoxCategoryList上,我具有以下各项:


文学与小说
浪漫
电脑和互联网
诗歌
专业技术
科幻与幻想
传记和回忆录
商业与金融
儿童读物
娱乐
历史
科学
自助服务
教科书和教材
旅行
西方人


当用户在CategoryList上选择一个项目时,我想将其存储在变量中,但是我该怎么做呢?

最佳答案

如果需要索引:

index := CategoryList.ItemIndex;


如果需要字符串:

str := CategoryList.Items[CategoryList.ItemIndex];


要捕获用户选择某物的瞬间,您需要注册一个OnChange事件:

CategoryList.OnChange := CategoryListChange;


其中CategoryListChange是事件侦听器:

procedure TMyForm.CategoryListChange(Sender: TObject);
begin
  // do something with CategoryList.Items[CategoryList.ItemIndex]
end;


您可能也想看看this webpage上的一些帖子!

09-25 19:31