AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Design (oder fast) Komponenten zeichnen - Aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Design (oder fast) Komponenten zeichnen - Aber wie?

Ein Thema von Stanlay Hanks · begonnen am 11. Sep 2003 · letzter Beitrag vom 13. Sep 2003
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#11

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 15:33
Ja, da hast du wohl recht. Ich fang erstmal ganz unten an...Das wird mit der Zeit schon werden, hoffe ich.

Aber ich hätte zum Zeichnen noch eine Frage (Das gehört zu diesem Thema, deswegen mache ich keinen neuens Thread auf). Wenn ich sagen wir mal, das Panel mit abgerundeten Ecken dargestellt hab möchte, wie kann ich das machen. Da reicht ja zeichnen nicht mehr, oder?

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#12

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 15:38
hmm du musst dann einfach nur den Canvas des Panels einmal löschen und dann mit RoundRect (bin mir nicht sicher ob die Fkt. so hieß, such einfach mal nach Rect in der OH) ein abgerundetes Rechteckt anstelle der normalen Form zeichnen, aber wenn du nen abgerundetes Panel zeichnen willst rate ich dir doch vom Typ TCustomControl abzuleiten, da musst dann dann zwar auch Text usw. per Hand ausgeben ist aber leichter finde ich
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#13

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 15:41
Danke schon mal für den Tip mit dem RoundRect. Ich werde mir das gleich mal anschauen. Aber das mit dem Text verstehe ich nicht. ich muss doch den Text sowieso manuell über TextOut(...) ausgeben. Oder meinst du was anderes?

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#14

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:08
Hallo. Ich hab das jetzt ausprobiert mit dem RoundRect. Das Problem ist nur: wenn ich diese Komponente dann verwende, bekomme ich nichts anderes, als ein Rechteck, in dem ein abgerundetes Rechteck gezeichnet ist...was ich aber irgendwie auch nicht anders erwartet habe, weil ich sicher war, dass ich wieder mal was falsch verstanden und gemacht hab.

Ich hab da folgende Paint Prozedur:

Delphi-Quellcode:
procedure TTestRoundPanel.Paint;
begin
  inherited;
 Canvas.Brush.Color := Self.Color;
 Canvas.Pen.Color := Self.BorderColor;
 Canvas.RoundRect(0,0,Self.Width,Self.Height,34,34);
end;
Das ergibt dann, wenn ich die Komponente installiere und auf Form ziehe, so etwas, wie im Anhang.

Ich möchte aber nun, dass der Bereich außerhalb des abgerundeten Vierecks erst gar nicht angezeigt wird. Denn wenn ich zum Beispiel ein Bild als Hintergrund nehme, sieht man ja immer, dass mein Panel gar nicht abgerundet, sondern eigentlich viereckig ist.

Kann ich das irgendwie machen, oder muss ich da eine ganz neue Komponente ableiten?

[Edit] Hab vergessen, das bild anzuhängen [/Edit]
Miniaturansicht angehängter Grafiken
roundrect.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#15

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:41
hmm hast du den Anhang vergessen??

Also ich denke für das was du versuchst muss man wohl ne eigene Kompo erstellen, bin mir aber im Moment nicht sicher was du meinst...
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#16

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:43
hmm entweder versuchst du die Farbe des Panels zuerst auf clNone zu setzen und zeichnest dann das Rechteckt und füllst es mit Farbe oder du machst ne Zusatzproperty wo du dann die Hintergrundfarbe angibst.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#17

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:45
achso...heißt clnone dann praktisch, dass der hintergrund druchscheint, oder?
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#18

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:47
Ja, du gibst ja keine Farbe an cl None (= Keine, nichts)
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#19

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 16:50
Danke für die Erklährung. Eigentlich is der Name ja selbsterklährend...aber ich frag lieber nochmal nach.

Danke schon mal. Ich bin sicher, das war nicht meine letzte Frage zu diesem Thema

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Design (oder fast) Komponenten zeichnen - Aber wie?

  Alt 12. Sep 2003, 17:30
Zitat von phlux:
cl None (= Keine, nichts)
Das ist richtig, heißt in dem Fall aber, dass das Panel ein durchsichtiges Rechteck auf sein Canvas zeichnet. Der wurde von Windows bereits weiß gefüllt, was zu einem weißen Rechteck führt, das ein Rechteck mit abgerundeten Ecken enthält.
Um das Weiß-Füllen zu verhindern, müsste man aus der Eigenschaft ControlStyle des Panels den Wert csOpaque entfernen. Das funktioniert bei einem Panel (im Gegensatz zu einem Label) aber leider nicht. (Warum würde mich auch interessieren.)
Eventuell lässt sich ein Panel mit abgerundeten Ecken genauso erstellen, wie es hier für ein Fenster beschrieben ist.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 23:27 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