TRzPageControl和TRzSizePanel能否成组成这样效果

zbest 2009-12-29 03:26:59


我要一个MDI,右侧始终显示如上图所示。

如上图所示,右侧是几个tab(请注意,这几个tab是不会隐藏的),然后点某个tab就随着在左侧显示出对应的内容,(左侧空间的最左边是类似一个splitter的,我用了raize包),现在还要点那个中间的图,收到最右边(不能把tab给隐藏起来)

我先放TRzSizePanel,在其上放TRzPageControl。这样不行(因为收起SizePanel会把带标签的PageControl的tab也给收起来了);
先放PageControl,在其上放SizePanel,也不行(因为PageControl的宽度是定下来的,而SizePanel在变动宽度时和PageControl就不一致了。)
...全文
662 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
tgbd 2009-12-30
  • 打赏
  • 举报
回复
有些提示性的文本,放在EXE外面,要比放在EXE里面有很多优越性,灵活,不占EXE的空间(毕竟这些内容没必要放在EXE中)。要加一些内容只要修改一下外面的文件,不用重新编译了。总之,建议放外面较好。

至于“关于”里的内容,可以用LABEL,也可以用外面的文本,例如产生一个向上滚动效果的信息显示,楼主可以去试试。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tgbd 的回复:]
"这个不好在设计时直接在里面写字啊(里面可能要有不同的字体、字号、颜色,链接等)" HTML文件最能满足你这种要求。
[/Quote]

看了Raize5.2的Demo里TRzRichEdit的使用,是这样用的:
procedure TfrmMain.LoadNotes( const FileName: string );
begin
edtNotes.Clear;
edtNotes.Lines.LoadFromFile( FPath + FileName + '.rtf' );
end;
但是这样就必须在自己编译过的exe之外要有别的文件支持,我想最好能写进exe编译进去。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tgbd 的回复:]
"这个不好在设计时直接在里面写字啊(里面可能要有不同的字体、字号、颜色,链接等)" HTML文件最能满足你这种要求。
[/Quote]

另外问下,类似软件的“关于”里,有些大段文字,有不同大小、字体、等等,一般都用什么控件呢。

多谢你的热心回复解答,回头解决掉问题结贴分数基本就给你表示感谢哦。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 tgbd 的回复:]
"这个不好在设计时直接在里面写字啊(里面可能要有不同的字体、字号、颜色,链接等)" HTML文件最能满足你这种要求。
[/Quote]

我想在设计时写进去,这个不像TRzRichEdit,设计时右键就有Edit Lines弹出新框子直接就可写了,而TWebBrowser似乎没有啊。
tgbd 2009-12-30
  • 打赏
  • 举报
回复
"这个不好在设计时直接在里面写字啊(里面可能要有不同的字体、字号、颜色,链接等)" HTML文件最能满足你这种要求。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tgbd 的回复:]
如果楼主仅是在里面显示帮助性的文字或图片,那么不防考虑使用TWebBrowser控件。很方便可以满足要求。
[/Quote]

这个不好在设计时直接在里面写字啊(里面可能要有不同的字体、字号、颜色,链接等)
zbest 2009-12-30
  • 打赏
  • 举报
回复
TabSheet1Click应为RzPageControl1TabClick
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 zbest 的回复:]
引用 19 楼 tgbd 的回复:
如果那个黄色边不是鼠标落在TAB上的颜色,那么可以设置TabColors->HighlightBar的颜色为 $00149BF0
即与HotTrackColor一样的颜色,即可。至于每一个TAB带上图标,只要放一个ImageList,然后设置page的images即可.


试过这样设置黄色边,似乎没用。
黄边是当前页的颜色。
[/Quote]

HotTrackStyle:htsTabBar就可以了。
才用delphi,呵呵,我会慢慢学习的。

现在是点PageControl的标签的事件设置还没弄好,想要点某个标签触发某事件,但整个标签那一行被点击后都触发了(procedure TForm2.TabSheet1Click(Sender: TObject);),而不是仅仅点某个标签才是。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 tgbd 的回复:]
如果那个黄色边不是鼠标落在TAB上的颜色,那么可以设置TabColors->HighlightBar的颜色为 $00149BF0
即与HotTrackColor一样的颜色,即可。至于每一个TAB带上图标,只要放一个ImageList,然后设置page的images即可.
[/Quote]

试过这样设置黄色边,似乎没用。
黄边是当前页的颜色。
tgbd 2009-12-30
  • 打赏
  • 举报
回复
如果那个黄色边不是鼠标落在TAB上的颜色,那么可以设置TabColors->HighlightBar的颜色为 $00149BF0
即与HotTrackColor一样的颜色,即可。至于每一个TAB带上图标,只要放一个ImageList,然后设置page的images即可.
zbest 2009-12-30
  • 打赏
  • 举报
回复
另外再问下吧,像第一帖中的标签,带有小图标,活动标签上还有个突出的条状彩色,这是用什么控件包做的么?我在Raize里试着没找到对应的属性设置。
zbest 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 tgbd 的回复:]
有些提示性的文本,放在EXE外面,要比放在EXE里面有很多优越性,灵活,不占EXE的空间(毕竟这些内容没必要放在EXE中)。要加一些内容只要修改一下外面的文件,不用重新编译了。总之,建议放外面较好。

至于“关于”里的内容,可以用LABEL,也可以用外面的文本,例如产生一个向上滚动效果的信息显示,楼主可以去试试。
[/Quote]

好的,感谢tgbd多次给出的帮助,马上按照指导继续调试了。

追加20分吧,以示感谢。
tgbd 2009-12-29
  • 打赏
  • 举报
回复
如果楼主仅是在里面显示帮助性的文字或图片,那么不防考虑使用TWebBrowser控件。很方便可以满足要求。
zbest 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tgbd 的回复:]
你上面两个属性
再将page的字体设置成@fixedsys
再将每个TAB的字体设置成宋体,因为PAGE的字体被设置成@fixedsys,所以要改一下。

不知道新版RZ组件有没有page中TAB的字体,我的是4.03版,没有。所以变相通过字体来实现那种效果。
[/Quote]

我用的5.2,在delphi2010下,非常感谢你的方法,这样文字方向显示正确了,不过字体效果看起来有点怪,正在继续调。

我要的这个效果,是想这样:在mdi下的每个子窗体的右侧都有这样的侧边,显示当前的“帮助”用户想看就点开,不想开就收起来。

接下来就是,要在TRzSizePanel里放一个显示文字的控件,试了试,label,memo都不好用,系统自己的RichEdit不好在写程度时向里写文字,如果用TRzRichEdit,里面的文字会由TRzSizePanel的初始宽度而固定,如果运行后拉动边上来改变宽度,TRzRichEdit里的文字并不会随着宽度而变,而是像被在初始宽度时的每行尾部加上了回车。
bdmh 2009-12-29
  • 打赏
  • 举报
回复
very可以,设置也签位置就ok了
macchen1224 2009-12-29
  • 打赏
  • 举报
回复
up.
tgbd 2009-12-29
  • 打赏
  • 举报
回复
你上面两个属性
再将page的字体设置成@fixedsys
再将每个TAB的字体设置成宋体,因为PAGE的字体被设置成@fixedsys,所以要改一下。

不知道新版RZ组件有没有page中TAB的字体,我的是4.03版,没有。所以变相通过字体来实现那种效果。
zbest 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tgbd 的回复:]
pageConctrol距右,且高度只要显示出TAB即可
中间放一个TRzSizePanel,里面可以放一个PANEL,
点击pageConctrol的TAB时,根据需要加载内容去。

这样,点击TRzSizePanel那个左边的就没关系了。
[/Quote]

多谢,这应该是个解决方法,虽然要写代码根据需要加载,但应该可以实现(不像我原来想直接设置属性就可以),马上测试。

另外问个问题,TRzPageControl的TabSheet的caption如何显示纵向的字啊,
设置目前如下:
TabOrientation :toRight
TextOrientation :orVertical

这样不行啊,汉字虽然是由上向下排的,但所有字有顶端都是向右的,如何纵向向下排列字,且字的顶端都向上呢?
tgbd 2009-12-29
  • 打赏
  • 举报
回复
pageConctrol距右,且高度只要显示出TAB即可
中间放一个TRzSizePanel,里面可以放一个PANEL,
点击pageConctrol的TAB时,根据需要加载内容去。

这样,点击TRzSizePanel那个左边的就没关系了。
zbest 2009-12-29
  • 打赏
  • 举报
回复
先放PageControl,在其上放TRzSizePanel的话,
TRzSizePanel Align:=alClient;
如上设置的话,TRzSizePanel勾上Show HotSpot的话,会看不到中间竖的小条。

这也就谈不上能拉动小条变化宽度的操作了
加载更多回复(2)
Raize Components 6.1.12 Modifications The following is a list of all of the modifications that have been made for version 6.1.12 of Raize Components. For a list of all modifications made to previous versions of Raize Components 6, please see the "RC 6 Modifications.txt" file. -------------------------------------------------------------------------------- Build: 6.1.12 Date: 11 Apr 2015 -------------------------------------------------------------------------------- Added support for Embarcadero RAD Studio XE8. Supported IDEs Embarcadero RAD Studio XE8 -- Delphi XE8 & C++Builder XE8 Embarcadero RAD Studio XE7 -- Delphi XE7 & C++Builder XE7 Embarcadero RAD Studio XE6 -- Delphi XE6 & C++Builder XE6 Embarcadero RAD Studio XE5 -- Delphi XE5 & C++Builder XE5 Embarcadero RAD Studio XE4 -- Delphi XE4 & C++Builder XE4 Embarcadero RAD Studio XE3 -- Delphi XE3 & C++Builder XE3 Embarcadero RAD Studio XE2 -- Delphi XE2 & C++Builder XE2 Embarcadero RAD Studio XE -- Delphi XE & C++Builder XE Embarcadero RAD Studio 2010 -- Delphi 2010 & C++Builder 2010 CodeGear RAD Studio 2009 -- Delphi 2009 & C++Builder 2009 RzButton.pas * Fixed issue in TRzToolButton where drop down menu would be displayed on the adjacent monitor under certainly situations. RzDBEdit.pas * Fixed issue in TRzDBEdit and descendants where registered style hook was not correctly unregistered when the hook was no longer needed. * Added UseFormatToParse property to TRzDateTimeEdit. Set this property to True in situations where the Time to be parsed contains more elements than are contained in the LongTimeFormat string. For example, if the Time needed to be entered must have 'hh:nn:ss.zzz' and the LongTimeFormat string is set to 'hh:nn', then set the UseFormatToParse to True and set the Format property to the desired format string. RzDBList.pas * Surface the Sorted property in TRzDBListBox. RzEdit.pas * Fixed issue in TRzEdit and descendants where registered style hook was not correctly unregistered when the hook was no longer needed. * Added UseFormatToParse property to TRzDateTimeEdit. Set this property to True in situations where the Time to be parsed contains more elements than are contained in the LongTimeFormat string. For example, if the Time needed to be entered must have 'hh:nn:ss.zzz' and the LongTimeFormat string is set to 'hh:nn', then set the UseFormatToParse to True and set the Format property to the desired format string. RzGroupBar.pas * Fixed issue in TRzGroupBar where registered style hook was not correctly unregistered when the hook was no longer needed. RzLstBox.pas * Fixed issue in TRzListBox and descendants where text in item hints would get clipped if the TRzBalloonHints component was also being used in the application. RzShellCtrls.pas * When dragging a file from a TRzShellList and dropping it onto a different folder in the associated TRzShellTree, the shell tree no longer scrolls to the source folder represented by the shell list. That is, the shell tree maintains its current view. RzSpnEdt.pas * Fixed issue where ParentColor property in TRzSpinner and TRzDBSpinner was not getting streamed correctly to form files. RzTabs.pas * Fixed issue where drop-down menu in TRzPageControl and TRzTabControl would not be displayed correctly when using a custom VCL Style in XE6 or XE7. * Added LightenUnselectedColoredTabs property to TRzPageControl and TRzTabControl. When this property is True, a non-active colored tab will be displayed with a lightened version of the tab color. When this property is False, the unselected tab is displayed in the same color as the active tab color. --------------------------------------------------------------------------------

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧