首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于表单的Lazarus风格帮助

关于表单的Lazarus风格帮助
EN

Stack Overflow用户
提问于 2015-08-24 22:21:54
回答 1查看 205关注 0票数 0

我需要为Lazarus项目创建一个about条目。我希望它是一个多页事件,就像在Lazarus IDE中的关于一个,但我找不到任何关于这样做的信息。

EN

回答 1

Stack Overflow用户

发布于 2017-01-02 01:29:56

Lazarus about框中的TTabControl是我在许多项目中使用的。我发现特别有用的是将其与TRichMemo结合使用,然后为每个选项卡创建不同的RTF文件,然后将这些文件作为资源编译到程序中。

例如,对于一个项目,我有四个选项卡。我使用每个选项卡的标题作为该选项卡的资源名称的一部分。我的资源文件如下所示:

代码语言:javascript
复制
ABOUTBOX_INSTRUCTIONS   RCDATA  "Resources/Instructions.rtf"              LANGUAGE 0,0
ABOUTBOX_LICENSE        RCDATA  "Resources/License.rtf"                   LANGUAGE 0,0
ABOUTBOX_CHANGELOG      RCDATA  "Resources/Changelog.rtf"                 LANGUAGE 0,0
ABOUTBOX_CREDITS        RCDATA  "Resources/Credits.rtf"                   LANGUAGE 0,0

然后切换选项卡就变得相对容易了:

代码语言:javascript
复制
//---------------------------------------------------------------------------
// tabAboutTabs OnChange event handler.  Load the appropriate resource into
// the RichMemo box.
//
procedure TAboutBox.tabAboutTabsChange(Sender: TObject);
var
  ResourceStream: TResourceStream;
begin
  // Each tab's caption becomes part of the resource name for the RTF file loaded.
  ResourceStream := TResourceStream.Create(HInstance, 'ABOUTBOX_' + UpperCase(tabAboutTabs.Tabs[tabAboutTabs.TabIndex]), RT_RCDATA);
  richAboutText.LoadRichText(ResourceStream);
  ResourceStream.Free;
end;
//---------------------------------------------------------------------------

这使您能够使用嵌入在可执行文件中的字处理器生成具有格式良好的文本的多选项卡帮助表单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32184686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档