当前位置:主页>销售管理软件> 列表

难题

销售管理软件版1楼: PageControl1中有几个TabSheet页,现在是想:当选中某一个TabSheet页时,把被选中的那个TabSheet页四周的边框用颜色描绘出来,比如在四周套一层红色。不知道各位有什么好的办法,再下这里有礼了!

2楼: 如下便是了:
先设置pagecontrol的ownerdraw=true,然后在pagecontrol的OnDrawTab事件里写如下代码:
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
if Active then
begin
Control.Canvas.Brush.Color := clBlue;
Control.Canvas.Font.Color := clWhite;
end;

Control.Canvas.TextRect(Rect, Rect.Left + 5, Rect.Top + 5, PageControl1.ActivePage.Caption);
end; 如速达

3楼: 楼上的大哥,我想你应该没理解我的问题,见效果图
[img]http://forum2.games.sina.com.cn/upload/28/465/20050928/61/12221/12221.jpg[/img]

4楼: procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);


begin
if Active then
begin
Control.Canvas.Brush.Color := clAqua;
Control.Canvas.Font.Color := clWhite;
end;

Control.Canvas.TextRect(Rect, Rect.Left + 5, Rect.Top + 5, PageControl1.ActivePage.Caption);
PageControl1.Canvas.Rectangle(0,20,Control.Width,Control.Height);//加这句就可以了
end;

5楼: 那它那个渐变效果是怎么实现的?

6楼: hongxing_dl兄,你这样的画法我前面就试过了
问题1,TABSHEET那个TAB周围无法覆盖,还是有一圈白色
问题2,Rectangle(0,20,Control.Width,Control.Height);这样画的是整个矩形,而我希望和TABSHEET相交的那个地方不画。
其实如果有一个画不规则轮廓的函数,那问题就解决啦。

销售管理软件版7楼: 提前[:D]

8楼: 你的图的效果是三方控件,或者用了换肤控件。

9楼: hongxing_dl你好,我的目的很简单,就是想用线条包围整个TabSheet页的边框。
不知道您有没有什么好办法,有没有什么描绘轮廓的函数。

10楼: 不会真的没人会吧,那我看来要结帐了[:D]

11楼: 有画不规则轮廓的函数,TCanvas.Polyline(const Points: array of TPoint);

12楼: 楼主,怎么贴的图,多谢了,教教我! 如金蝶财务软件下载

13楼: 接受答案了.