AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen zur Komponente TPanel

Ein Thema von yasR · begonnen am 27. Sep 2009 · letzter Beitrag vom 28. Sep 2009
Antwort Antwort
Seite 1 von 3  1 23      
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#1

Fragen zur Komponente TPanel

  Alt 27. Sep 2009, 19:35
Hallo,
ich habe zwei Fragen zu der Komponente TPanel. Ist es machbar, die vier Kanten eines Panels abzurunden?
Falls es nicht funktioniert, welche Alternativen gibt es denn, außer das verwenden von TImage?
Desweiteren möchte ich, dass mein Panel bei einem OnClick Event die Farbe verändert. Wie kann man das am besten realisieren?

Lg
yasR
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fragen zur Komponente TPanel

  Alt 27. Sep 2009, 20:21
Es gibt noch TShape, wenn es darum geht eine Form auf dem Formular darzustellen.

Die Farbe kannst du via der Eigenschaft Color verändern, das funktioniert natürlich nicht ab XP, wenn der XP Style aktiv ist. Denn dann übernimmt das Betriebssystem ja das Zeichnen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Fragen zur Komponente TPanel

  Alt 27. Sep 2009, 20:29
Hallo,

für die abgerundeten Ecken braucht man nur über die Staatsgrenze gehen (am Bodensee gehts), nämlich zu den Schweizern
Es ginge auch das hier von den Schweizern
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#4

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 07:42
danke Helmi, genau das passende


aber weshalb bekomme ich hier Fehlermeldungen angezeigt? -.-



Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);

const
  bgcolor = $00FFDDEE;
  linecolor = $00554366;
var

  img: array of TImage;
  reg: hrgn;
  i: Integer;
begin

  for i := 0 to ComponentCount - 1 do
  begin
    if Components[i].ClassName = 'TPanelthen
    begin
      setlength(img, Length(img) + 1);
      img[i] := TImage.Create(Self);
      img[i].Width := (Components[i] as TPanel).Width;
      img[i].Height := (Components[i] as TPanel).Height;
      img[i].Parent := (Components[i] as TPanel);
      img[i].Canvas.Brush.Color := bgcolor;
      img[i].Canvas.pen.Color := bgcolor;
      img[i].Canvas.Rectangle(0,0,img[i].Width, img[i].Height);
      img[i].Canvas.pen.Color := linecolor;
      img[i].Canvas.RoundRect(0,0,img[i].Width - 1,img[i].Height - 1,20,20);
      reg := CreateRoundRectRgn(0,0,(Components[i] as TPanel).Width,
        (Components[i] as TPanel).Height, 20,20);
      setwindowrgn((Components[i] as TPanel).Handle, reg, True);
      deleteobject(reg);
    end;
  end;
end;





http://www.bilder-hochladen.net/files/big/cn1k-1.jpg
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 07:48
Hast du die Unit ExtCtrls eingebunden?
Ansonsten ist das evtl wieder der Bug in Error Insight.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 07:53
Kannst du das Progrogramm kompilieren und ausführen?
Wenn ja, dann ignorier es einfach
> http://www.delphipraxis.net/internal...049314#1049314
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#7

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 08:10
also ExtCtrls ist auf jeden eingebunden, ich kann es nicht ausführen -.-
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 08:15
Welche Fehlermeldung erscheint denn?
Und in welche Zeile springt er?

Was mir gerade aufgefallen ist: 'if Components[i] is TPanel then' dürfte etwas sauberer (und evtl auch sicherer) sein.
  Mit Zitat antworten Zitat
yasR

Registriert seit: 20. Sep 2009
39 Beiträge
 
#9

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 08:40
[Pascal Fehler] Unit3.pas(33): E2003 Undefinierter Bezeichner: 'TImage'
[Pascal Fehler] Unit3.pas(40): E2003 Undefinierter Bezeichner: 'TPanel'
[Pascal Fehler] Unit3.pas(40): E2029 Anweisung erwartet, aber 'THEN' gefunden
[Pascal Fehler] Unit3.pas(43): E2018 Record, Objekt oder Klassentyp erforderlich
[Pascal Fehler] Unit3.pas(44): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(44): E2015 Operator ist auf diesen Operandentyp nicht anwendbar
[Pascal Fehler] Unit3.pas(45): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(45): E2015 Operator ist auf diesen Operandentyp nicht anwendbar
[Pascal Fehler] Unit3.pas(46): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(46): E2015 Operator ist auf diesen Operandentyp nicht anwendbar
[Pascal Fehler] Unit3.pas(47): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(48): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(49): E2066 Operator oder Semikolon fehlt
[Pascal Fehler] Unit3.pas(49): E2250 Es gibt keine überladene Version von 'Rectangle', die man mit diesen Argumenten aufrufen kann
[Pascal Fataler Fehler] Project4.dpr(5): F2063 Verwendete Unit 'Unit3.pas' kann nicht compiliert werden


if Components[i] is TPanel then

bringt auch kein Erfolg -.-
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Fragen zur Komponente TPanel

  Alt 28. Sep 2009, 08:54
Nochmal: steht ExtCtrls mit in der uses-Klausel?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz