AGB  ·  Datenschutz  ·  Impressum  







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

Bevel auf einem Rechteck

Ein Thema von Chris211183 · begonnen am 15. Okt 2013 · letzter Beitrag vom 24. Okt 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

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

AW: Bevel auf einem Rechteck

  Alt 21. Okt 2013, 16:35
Das versteht sich ja wohl von selbst.
Das hatte ich auch mal gedacht, aber wurde eines Besseren belehrt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#2

AW: Bevel auf einem Rechteck

  Alt 22. Okt 2013, 10:44
Hab da mal zusammenkopiert und dennoch nix (bin ich zu dämlich ?)

Istbestimmt wieder ein Anfängerfehler

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, ExtCtrls;

Type
TMyCompo = class(TGraphicControl)


protected
   procedure Paint; override;
end;



TForm1 = class(TForm)

procedure FormCreate(Sender: TObject);

private
   FTest: TMyCompo;
end;


var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TMyCompo.Paint;
var
R: TRect;


begin
inherited;
Canvas.Brush.Color := clred;
Canvas.FillRect(Rect(0, 0, Width, Height));
R := Rect((Width - 50) div 2, (Height - 50) div 2,
(Width + 50) div 2, (Height + 50) div 2);
Frame3D(Canvas, R, clblack ,clyellow , 3);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FTest := TMyCompo.Create(self);
FTest.Width := 200;
FTest.Height := 200;
FTest.Parent := self;

end;

end.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bevel auf einem Rechteck

  Alt 22. Okt 2013, 10:47
Vielleicht hat himitsu doch Recht. Ist das OnCreate-Ereignis des Formulars auch mit der FormCreate-Methode verknüpft (Objektinspektor)?
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
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#4

AW: Bevel auf einem Rechteck

  Alt 22. Okt 2013, 11:03
jetzt ja




ohhh mannnn eyyyyyyyyyy


Danke
Christian
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#5

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 10:17
Sodele, alles funzt in meier Komponente, nur wenn ich meinen Rahmen größer ziehe, bleibt mein Bevel in der Größe und vergrößert sich nicht mit...


Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
   R: TRect;

begin
  inherited paint;
  if (Parent = NIL) or not visible
  then exit;
  
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(0, 0, Width, Height));
  R := Rect((Width - 9) div 2, (Height - 133) div 2,
  (Width + 9) div 2, (Height + 133) div 2);
  Frame3D(Canvas, R, clBtnShadow ,clBtnHighlight , 1);
kann ich das einfach lösen (mit if else Anweisungen) oder muss ich da noch ewig rumdoktern
Christian
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 10:33
Rechne einfach nicht wie wild die Koordinaten für dein Rectangle aus, sondern nimm einfach nur

R := Rect(1, 1, Width - 1, Height - 1);
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 10:47
Du könntest SetBounds überschreiben und darin Invalidate aufrufen.
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
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#8

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 10:50
@Baumina, dann hätte ich ja nur ein Rahmen den ich verändern kann, ich habe aber einen Rahmen auf einem Rechteck, welcher sich mit vergrößerung des Rechteckes auh proportional verändern soll.

@DeddyH, nein habe ich nicht, das sagt mir auch nichts
Christian
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 10:59
Meiner Meinung nach verhält sich ist mein Vorschlag proportional zur Größe des Rechtecks:

Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
   R: TRect;

begin
  inherited paint;
  if (Parent = NIL) or not visible
  then exit;
  
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(0, 0, Width, Height));
  // so hast du es im Moment :
             // Links = (Width - 9) div 2
                               // Oben = (Height - 133) div 2
  R := Rect((Width - 9) div 2, (Height - 133) div 2,
             // Rechts = (Width + 9) div 2
                               // Unten = (Height + 133) div 2
            (Width + 9) div 2, (Height + 133) div 2);
  // und so wäre mein Vorschlag:
            // 1 Links innerhalb vom Rechteck
               // 1 Oben innerhalb vom Rechteck
                  // Rechts die Breite vom Rechteck-1
                            // Unten die Höhe von vom Rechteck-1
  R := Rect(1, 1, Width - 1, Height - 1);
  Frame3D(Canvas, R, clBtnShadow ,clBtnHighlight , 1);
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#10

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 11:02
Probiers mal aus !

Vielen Dank euch Beiden !!!
Christian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:31 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