Autor Beitrag
neuhier1
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 16.01.07 15:08 
Hallo,

wie kann ich einen Farbverlauf (vertikal) auf einem Panel erzeugen?

Vielen Dank,

Viele Grüße
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Di 16.01.07 15:13 
Das geht relativ gut mit der boardsuche. Naja ich habs dir mal rausgesucht

_________________
"Ich find den Fehler nicht. Der Artist wird immer als "Syntax Error" gezeigt :("
"Ach verdammt, der Artist heißt wirklich "Syntax Error" xD"
neuhier1 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 16.01.07 15:24 
leider funktioniert der besipielcode nicht :(
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Di 16.01.07 15:26 
ach wenn das so ist..dann ist es wohl aussichtslos...

was funktioniert nicht? Fehlermeldungen?

_________________
"Ich find den Fehler nicht. Der Artist wird immer als "Syntax Error" gezeigt :("
"Ach verdammt, der Artist heißt wirklich "Syntax Error" xD"
neuhier1 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 16.01.07 15:29 
Die Klasse TMyPanel hab ich nicht. Die hat wohl ein Canvas. Auf einem Canvas kriege ich das hin. brauche es aber auf einem normalen Panel.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 16.01.07 15:39 
Ein Standard-Panel hat kein Canvas. MyPanel hat eins, und das dürfte in etwa so aussehen:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
unit MyPanel;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls;

type
  TMyPanel = class(TPanel)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    property Canvas;

  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TMyPanel]);
end;

end.
Einfach eine neue Komponente erstellen, diesen Code da rein kopieren, und die Kompo installieren - fertig. Ich brauch grade selber sowas, daher hab ich das grade da :D.

_________________
We are, we were and will not be.
neuhier1 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 16.01.07 16:07 
ich möchte gerne auf einem vorhandenem panel den farbverlauf erzeugen. ohne komponenten austauschen oder neue zu benutzen. ginge das?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 16.01.07 16:31 
Da ein Panel kein Canvas (veröffentlicht) hat, auf dem man malen kann, geht das afaik nicht. Du könntest allerdings auf das Panel noch ein Image oder eine Paintbox legen, und darauf malen.

_________________
We are, we were and will not be.
DBR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Mo 22.01.07 17:46 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var
  dc: HDC;
  PanelCanvas: TCanvas;

procedure TForm1.FormCreate(Sender: TObject);
begin
  dc := getdc(Panel1.handle);
  PanelCanvas := TCanvas.create;
  PanelCanvas.handle := dc;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  PanelCanvas.free;
  deleteDC(dc);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  PanelCanvas........
end;