Autor Beitrag
NOS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 17:24 
Hallo zusammen,

ich habe mir eine Komponente von TPanel abgeleitet und möchte in der Create routine die Farbe des Panels setzen ... leider gelingt das nicht ... alignment ist kein problem ... caption etc sind kein problem ... aber die farbe des panels kriege ich nicht hin ....

woran kann das liegen ?

Gruße,

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 18:11 
Du hast doch selber gesagt, dass das am Create liegt. 8) Beseitige den Fehler und fertig. :mrgreen: Was da genau in der Prozedur steht, das kann keiner wissen.

_________________
Gruß
Hansa
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 18:27 
user profile iconhansa hat folgendes geschrieben:
Du hast doch selber gesagt, dass das am Create liegt. 8) Beseitige den Fehler und fertig. :mrgreen: Was da genau in der Prozedur steht, das kann keiner wissen.


Hi,

tja ... da muss ich dir recht geben ... wenns aber so einfach wäre würde ich ja nicht posten ;-) ... ich finde das problem echt nicht ... aber hier mal ein code snippet
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
constructor TTemplateObjectPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
 // basic component values
 Caption := 'TEMPLATEOBJECTPANEL';
 AutoSize := false;
 Align := alClient;
 BevelInner := bvNone;
 BevelOuter := bvNone;
 BevelKinde := bkNone;
 Color := clRED;
 // templte values
 ProjectChanged := true;
end;


Vielleicht ist es mit dem Snippet doch eine Spur besser das zu beurteilen ;-)

Grüße,

Andreas

Moderiert von user profile iconAXMD: Delphi-Tags hinzugefügt

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 09.05.08 18:33 
Vielleicht hilft es, wenn du nach dem Ändern der Farbe bzw. am Ende des Konstruktors Invalidate aufrufst, damit das Panel neu gezeichnet wird?

AXMD
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 18:34 
user profile iconNOS hat folgendes geschrieben:
Vielleicht ist es mit dem Snippet doch eine Spur besser das zu beurteilen ;-)..


Nicht vielleicht. Das ist nur dadurch EVENTUELL zu finden ! Auf Anhieb sehe ich mal nichts. Du hats nicht mal gesagt, welche Farbe MOMENTAN angezeigt wird.

_________________
Gruß
Hansa
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 18:45 
user profile iconAXMD hat folgendes geschrieben:
Vielleicht hilft es, wenn du nach dem Ändern der Farbe bzw. am Ende des Konstruktors Invalidate aufrufst, damit das Panel neu gezeichnet wird?

AXMD


Hi,

ein Invalidate hilft nicht ... hatteich temporär schon einmalö drin und grad noch einmal gecheckt

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 18:46 
user profile iconhansa hat folgendes geschrieben:
user profile iconNOS hat folgendes geschrieben:
Vielleicht ist es mit dem Snippet doch eine Spur besser das zu beurteilen ;-)..


Nicht vielleicht. Das ist nur dadurch EVENTUELL zu finden ! Auf Anhieb sehe ich mal nichts. Du hats nicht mal gesagt, welche Farbe MOMENTAN angezeigt wird.


Hi Hansa,

die momentane Farbe ist clWhite wie der Parent auch ... Parentcolor auf false hilft aber auch nicht um das mal vorweg zu nehmen ...

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 18:59 
Bei mir geht das auf Anhieb. Wie sieht denn die Deklaration des Create aus ? Man muss offensichtlich jede Zeile einzeln anmahnen. :motz: So was schadet dir selber am meisten !!

_________________
Gruß
Hansa
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 19:04 
user profile iconhansa hat folgendes geschrieben:
Bei mir geht das auf Anhieb. Wie sieht denn die Deklaration des Create aus ? Man muss offensichtlich jede Zeile einzeln anmahnen. :motz: So was schadet dir selber am meisten !!


Sorry Hansa,

aber ich hatte es irgendwo mal in erinnerung das man nicht sofort alles mit postet ... werde mich aber in zukunft bessern ... aus mehr besteht die unitschon kaum noch da ich alles rausgenommen habe was schaden könnte

achja .. um es noch vorweg zu nehmen ... ich nutze delphi 2007 pro deutsch mit aktuellen updates auf einem vista ultimate 64 bit falls das was dazu beiträgt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
interface

uses uTemplateConstants, uTemplateStructures, Controls, Classes, ExtCtrls, Graphics;

type
 // main object
 TTemplateObjectPanel = class(TPanel)
  private
  protected
  public
   // variables
   ProjectChanged : boolean;
   // routines
   constructor Create(AOwner: TComponent); override;
   procedure CreateBasicTemplate(TemplateType : integer);
  published
 end;

Andreas

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 19:27 
Wird das ganze Package überhaupt compiliert ?

_________________
Gruß
Hansa
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 19:29 
user profile iconhansa hat folgendes geschrieben:
Wird das ganze Package überhaupt compiliert ?


es ist ja eine unit die von der main unit genutzt wird ... compiliert wird sie auf jeden fall ... es ist kein package mit einer komponente ...

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 19:41 
Was soll dann diese Ausgangsfrage ?

user profile iconNOS hat folgendes geschrieben:
ich habe mir eine Komponente von TPanel abgeleitet und möchte in der Create routine die Farbe des Panels setzen ...


Lerne erst mal, was eine Komponente ist. :mrgreen:

_________________
Gruß
Hansa
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 19:43 
user profile iconhansa hat folgendes geschrieben:
Was soll dann diese Ausgangsfrage ?

user profile iconNOS hat folgendes geschrieben:
ich habe mir eine Komponente von TPanel abgeleitet und möchte in der Create routine die Farbe des Panels setzen ...


Lerne erst mal, was eine Komponente ist. :mrgreen:


Was hat das eine mit dem anderen zu tun ? ... jetzt habe ich es in einpackage gepackt und installiert ... ergebniss wie vorher ...

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 09.05.08 19:53 
user profile iconNOS hat folgendes geschrieben:
Was hat das eine mit dem anderen zu tun ? ...


Eben nichts ! So, Nachhilfestunde für heute beendet. :mrgreen: Soll sonstwer weitermachen. Deklaration fehlt immer noch usw. So gehts jedenfalls :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
type
  TTestPanel = class (TPanel)
  private
    constructor Create(AOwner: TComponent); override;
  end;

procedure Register;

implementation

constructor TTestPanel.Create(AOwner: TComponent);
begin
  inherited;
  Color := clRed;
end;

procedure Register;
begin
  RegisterComponents('Eigene', [TTestPanel]);
end;


Quasi eine einzige Zeile !

_________________
Gruß
Hansa
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Fr 09.05.08 19:56 
Hi! Versuche doch mal, die Unit Graphics einzubinden, denn da sind die ganzen Farbkonstanten wie clRed usw. definiert. So müsste es mit hexadezimalen Werten wzb. $000000FF für rot klappen.
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 20:15 
user profile iconJakob_Ullmann hat folgendes geschrieben:
Hi! Versuche doch mal, die Unit Graphics einzubinden, denn da sind die ganzen Farbkonstanten wie clRed usw. definiert. So müsste es mit hexadezimalen Werten wzb. $000000FF für rot klappen.


Hi,

und vielen Dank ... aber das ist auch nicht das problem ... was mich stutzig macht ist das alles geht nur die farbe nicht ...

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Fr 09.05.08 20:47 
Hast du es schon damit probiert? Welchen Error gibt es? Oder hast du mal selbst etwas am Panel verändert (also in der Orginal-Unit)?
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Fr 09.05.08 21:53 
user profile iconJakob_Ullmann hat folgendes geschrieben:
Hast du es schon damit probiert? Welchen Error gibt es? Oder hast du mal selbst etwas am Panel verändert (also in der Orginal-Unit)?


Hi,

ich habe das ganze jetzt noch einmal umgebastelt sodas ich ein package habe mit einer komponente ... diese funktioniert super im designtime modus ... also in diesem falle droppe ich im designtime mode ein client aligned rotes panel mit entsprechernder caption auf mein form ... wenn ich das zur runtime mache geht es einfach nicht ...

anbei der source der unit sowie der source des erzeugens

unit :

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:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
unit uTemplateObjectPanel;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls, Graphics;

type
  TTemplateObjectPanel = class(TPanel)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    // variables
    ProjectChanged : boolean;
    // routines
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
    procedure CreateBasicTemplate(TemplateType : integer);
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('AnSoTeC', [TTemplateObjectPanel]);
end;

{ TTemplateObjectPanel }

constructor TTemplateObjectPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Align := alClient;
  Color := clRed;
  Caption := 'TemplateObjectPanel - ' + DateTimeToStr(now);
end;

procedure TTemplateObjectPanel.CreateBasicTemplate(TemplateType : integer);
begin
 case TemplateType of
  0 :  begin
        // empty template
       end;
  1 :  begin
        // Content
       end;
  2 :  begin
        // Header + Content
       end;
  3 :  begin
        // Content + Footer
       end;
  4 :  begin
        // Modules (left) + Content
       end;
  5 :  begin
        // Modules (right) + Content
       end;
  6 :  begin
        // Header + Content + Footer
       end;
  7 :  begin
        // Header + Modules (left) + Content
       end;
  8 :  begin
        // Header + Modules (right) + Content
       end;
  9 :  begin
        // Modules (left) + Content + Footer
       end;
  10 : begin
        // Modules (right) + Content + Footer
       end;
  11 : begin
        // Header + Modules (left) + Content + Footer
       end;
  12 : begin
        // Header + Modules (right) + Content + Footer
       end;
  13 : begin
        // Header + Modules (left + right) + Content
       end;
  14 : begin
        // Modules (left + right) + Footer
       end;
  15 : begin
        // Header + Modules (left + right) + Content + Footer
       end;
  16 : begin
        // 2 column Template
       end;
  17 : begin
        // 3 column Template
       end;
 end;
end;

destructor TTemplateObjectPanel.Destroy;
begin

  inherited;
end;

end.


Erzeugen des panels:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
   // now create new template object and set application state
   TemplateObjectPanel := TTemplateObjectPanel.Create(WorkPanel);
   TemplateObjectPanel.Parent := WorkPanel;
   TemplateObjectPanel.CreateBasicTemplate(TemplateType);


WorkPanel ist das ParentPanel auf dem Form und vom Typ TPanel

VIelleicht gibt das alle Informationen die man zur Lösung benötigt ...


Grüße,

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
NOS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 183
Erhaltene Danke: 2

Win XP, Win Vista Ultimate, Win 7 Ultimate
Delphi 19.4 - Sydney
BeitragVerfasst: Mi 21.05.08 21:00 
Titel: Es geht immer noch nicht :-(
Hallo zusammen,

ich habe es noch ein paar mal versucht und bin eigentlich der ansicht das es nur eine kleinigkeit sein kann ... aber ich finde das problem nicht warum ein manuelles erzeugen zur runtime nicht das gleiche produziert wie das droppen in der ide zur designtime ... die sourcen sind auf dem stand meines letzten postings.

Please help !!!!

Grüße,

_________________
Ich liebe es wenn ein Plan funktioniert ! Aber teilweise sind es die Pläne der Anderen, die besser funktionieren :-)
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mi 21.05.08 21:10 
Hast du zufällig den XPman eingebunden? ;-)
Also den XP-Stil von der Palette Win32 auf das Formular gezogen?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.