Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Page Control, normales Design weg und ein Viereck hin (https://www.delphipraxis.net/57646-page-control-normales-design-weg-und-ein-viereck-hin.html)

Nils_13 24. Nov 2005 15:40


Page Control, normales Design weg und ein Viereck hin
 
Hi,

wie mach ich das. OwnerDraw und PageControlDrawTab. Aber was dann, ich hab hier schon gesucht aber nichts passendes gefunden ? Ein anderes Problem ist ganz einfach neue Tabs per MenüItem klick hinzuzufügen und das wird dann noch komplizierter.

Sidorion 24. Nov 2005 17:06

Re: Page Control, normales Design weg und ein Viereck hin
 
Zum 2. Problem:
Zitat Delphi Hilfe:
NewTabSheet = TTabSheet.Create(PageControl1);
NewTabSheet.PageControl := PageControl1;
Zitat Ende

Zum 1. Problem
keine Ahnung :|

Nils_13 24. Nov 2005 19:13

Re: Page Control, normales Design weg und ein Viereck hin
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
var
  aRect, bRect: TRect

{ ... }

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
const
  _clTabColors : array [0..1] of TColor = (clGray,clGray);
  _sTabCaptions : array [0..3] of string = ('tab1','tab2', 'tab3', 'tab4');
begin
  aRect := PageControl1.TabRect(PageControl1.ActivePageIndex);
  bRect := PageControl1.TabRect(PageControl1.ActivePageIndex);
  Control.Canvas.Brush.Color := _clTabColors[TabIndex];
  Control.Canvas.Rectangle(0, 0, 60, 20);
  Control.Canvas.FillRect(bRect);
  Control.Canvas.FillRect(aRect);
  Control.Canvas.TextOut(aRect.Left+5,Rect.Top+3,_sTabCaptions[TabIndex]);
end;
Das Problem ist, das in _sTabCaptions dann immer alles definiert werden muss, deshalb geht die eben vorgeschlagene Methode wahrscheinlich nicht.
Im Attachment seht ihr zwei Tabs, wie sie aussehen sollen.

Nils_13 25. Nov 2005 15:09

Re: Page Control, normales Design weg und ein Viereck hin
 
Keiner eine Idee :( ?
Weiß keiner von euch, wie man Tabs wie in d2005 darstellt :( ?

Aenogym 25. Nov 2005 15:14

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Nils_13
Keiner eine Idee :( ?
Weiß keiner von euch, wie man Tabs wie in d2005 darstellt :( ?

warum immer das rad neu erfinden? sowas gibt's zuhauf schon fertig. zum beispiel bei den jedi-vcl...

aenogym

Nils_13 25. Nov 2005 17:50

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Aenogym
Zitat:

Zitat von Nils_13
Keiner eine Idee :( ?
Weiß keiner von euch, wie man Tabs wie in d2005 darstellt :( ?

warum immer das rad neu erfinden? sowas gibt's zuhauf schon fertig. zum beispiel bei den jedi-vcl...

aenogym

Jedi find ich nicht so gut, wo gibts das noch ?

Die Muhkuh 25. Nov 2005 17:51

Re: Page Control, normales Design weg und ein Viereck hin
 
Torry vllt.

Nils_13 25. Nov 2005 18:36

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Spider
Torry vllt.

Hm da ist nichts.

Nils_13 27. Nov 2005 14:19

Re: Page Control, normales Design weg und ein Viereck hin
 
Welches Package ist es denn bei jvcl ?
Ist es die JvTabBar-Unit ? Wenn ja, wie bau ich sie in mein Programm ein ?

Die Muhkuh 27. Nov 2005 14:23

Re: Page Control, normales Design weg und ein Viereck hin
 
Installier doch die Jedis (mit dem Installer), aber nur die packages, die du willst.

Nils_13 27. Nov 2005 14:28

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Spider
Installier doch die Jedis (mit dem Installer), aber nur die packages, die du willst.

Geht leider nicht. Ich brauch das ganze für Delphi 7, das ist aber irgendwie nicht in der Setup, ich kanns nur in Delphi 5 installieren, aber das bringt mir nichts.

Nils_13 28. Nov 2005 19:51

Re: Page Control, normales Design weg und ein Viereck hin
 
:(

DGL-luke 28. Nov 2005 21:00

Re: Page Control, normales Design weg und ein Viereck hin
 
Bei www.tmssoftware.com gibts tabsheet-controls(http://www.tmssoftware.com/apc.htm), die von sich behaupten, dass sie wie in D2005 aussehen.

für nicht kommerzielle benutzung kostenlos!

:)

Nils_13 29. Nov 2005 16:59

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von DGL-luke
Bei www.tmssoftware.com gibts tabsheet-controls(http://www.tmssoftware.com/apc.htm), die von sich behaupten, dass sie wie in D2005 aussehen.

für nicht kommerzielle benutzung kostenlos!

:)

Schade das sie nicht frei ist *scheiße*.

phXql 29. Nov 2005 17:18

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Nils_13
Zitat:

Zitat von DGL-luke
Bei www.tmssoftware.com gibts tabsheet-controls(http://www.tmssoftware.com/apc.htm), die von sich behaupten, dass sie wie in D2005 aussehen.

für nicht kommerzielle benutzung kostenlos!

:)

Schade das sie nicht frei ist *scheiße*.

willst du deine anwendung verkaufen? falls nicht, dann kannst du sie doch hernehmen...

Matze 29. Nov 2005 17:21

Re: Page Control, normales Design weg und ein Viereck hin
 
Zitat:

Zitat von Nils_13
Jedi find ich nicht so gut, wo gibts das noch ?

Was ist daran nicht gut? Wenn du das willst:

Zitat:

Zitat von DGL-luke
[...] die von sich behaupten, dass sie wie in D2005 aussehen.

Sind die Jedis perfekt. Hier mal ein Screenshot.

Nils_13 29. Nov 2005 17:29

Re: Page Control, normales Design weg und ein Viereck hin
 
Jedi legt gleich die ganze IDE lahm, weil es verdammt viel zu laden gibt und wie gesagt, ich kann es bei Delphi 7 nicht installieren :(

Wie könnte ich es denn selber programmieren ?

Nils_13 29. Nov 2005 20:21

Re: Page Control, normales Design weg und ein Viereck hin
 
Sry, aber:
Delphi-Quellcode:
unit FlatPageControl1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls;

type
  TFlatPageControl1 = class(TPageControl)
  private
    FFlat: Boolean;
    procedure SetFlat(const Value: Boolean);
  protected
    procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
  public
    constructor Create(Owner: TComponent); override;
  published
    property Flat: Boolean read FFlat write SetFlat;
  end;

procedure Register;

implementation


procedure Register;
begin
  RegisterComponents('Zusätzlich', [TFlatPageControl1]);
end;


constructor TFlatPageControl1.Create(Owner: TComponent);
begin
  inherited;
  FFlat := False;
end;


procedure TFlatPageControl1.SetFlat(const Value: Boolean);
begin
  if FFlat <> Value then
  begin
    FFlat := Value;
    Repaint;
  end;
end;


procedure TFlatPageControl1.WMPaint(var Msg: TWMPaint);
var
  R: TRect;
begin
  inherited;
  if FFlat and (Style = tsTabs) and (TabPosition = tpTop) then
  begin
    R := ClientRect;
    R.Top := DisplayRect.Top - 4;
    Canvas.Pen.Color := clBtnFace;
    Canvas.Pen.Width := 3;
    Canvas.PolyLine([Point(R.Left - 1, R.Top), Point(R.Left - 1, R.Bottom)]);
    Canvas.Pen.Width := 2;
    Canvas.PolyLine([Point(R.Left, R.Bottom - 1), Point(R.Right - 1, R.Bottom - 1),
                                    Point(R.Right - 1, R.Top)]);
  end;
end;

end.
Was muss ich tun, damit die Tabs so aussehen, damit so so aussehen, wie sie aussehen sollen ? Der rest ist schon flat.

Nils_13 30. Nov 2005 16:52

Re: Page Control, normales Design weg und ein Viereck hin
 
Könnte man da nichts hinzufügen ? Es gibt ja
Delphi-Quellcode:
property Flat: Boolean read FFlat write SetFlat;
Und kann man da unter Style oder so etwas einbauen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz