AGB  ·  Datenschutz  ·  Impressum  







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

Panel Professionel Resizen mit pfeilen etc...

Ein Thema von hedie · begonnen am 12. Apr 2008 · letzter Beitrag vom 13. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 20:08
Hallo

Ich möchte, das wenn man an die Ecken eines Panels kommt mit der maus
das die Normalen Pfeile angezeigt werden um etwas zu Resizen.

Ich hab es geschafft, das ich mit diesem Code die untere kannte eines Panels erkennen kann.

if (cursorpos.y-Form1.Top-(GroupBox1.Top+Panel3.Top+Panel5.Top+27+Panel5.Height)) = 1 then Panel5.Cursor:=crSizeNS; Aber ich bin mir sicher das das noch besser und einfacher geht....

Hat da jemand einen Tipp für mich oder eine Idee?

Und weiss vieleicht auch noch jemand wie ich das Panel am schluss Resizen kann.
Also mit height und width ist klar aber das es beim ziehen der maus resized wird meine ich....


Danke schonmal
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 20:19
Du prüfst, wo sich die Maus befindet und hast im OnMoueMove folgendes:
Delphi-Quellcode:
  if ssLeft in Shift then
  begin
    ReleaseCapture;
    Panel1.Perform(WM_SYSCOMMAND, XX, 0);
  end;
Wobei du XX ersetzen musst, je nach dem, wo sich die Maus befindet:
Delphi-Quellcode:
$F001: linke Seite
$F002: rechte Seite
$F003: oben
$F004: Ecke links oben
$F005: Ecke rechts oben
$F006: unten
$F007: Ecke links unten
$F008: Ecke rechts unten
Am besten deklarierst du diese Werte vorher als Konstanten.


Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 21:05
Hi,

oder du überschreibst CreateParams vom Panel und fügst den Style WS_SIZEBOX hinzu:
Delphi-Quellcode:
type
  TPanel= class(ExtCtrls.TPanel)
  public
    procedure CreateParams(var Params: TCreateParams); override;
  end;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TPanel.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);

  Params.Style := Params.Style or WS_SIZEBOX;
end;

end.
Edit: Es wird dann wohl besser aussehen, wenn du auch noch die Eigenschaft BevelOuter auf bvNone setzt.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#4

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 21:18
Wooooowww is ja meeega geil....

Danke Viel Viel mal euch beiden

das hat ausgezeichnet geklappt
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 22:51
was mache ich, wenn ich nun einzelne Panels dennoch
NICHT resizen möchte?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 22:57
Du leitest vorher noch eine andere Klasse von TPanel ab, in der du die CreateParams nicht überschreibst:
Delphi-Quellcode:
type
  TMyPanel= class(ExtCtrls.TPanel);
  TPanel= class(ExtCtrls.TPanel)
  public
    procedure CreateParams(var Params: TCreateParams); override;
  end//[..]
Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 12. Apr 2008, 23:03
Hi,

dann würde ich aber TMyPanel ableiten und überschreiben und das andere Panel so lassen, wie es ist.
  Mit Zitat antworten Zitat
xy124

Registriert seit: 3. Dez 2007
146 Beiträge
 
Delphi 7 Personal
 
#8

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 13. Apr 2008, 09:43
is ja geil!!!!
geht das auch mit anderen komponenten?

und wie verschiebt man komponenten - geht das auch so einfach?
o o
LJ
TTT
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#9

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 13. Apr 2008, 09:45
Jep

verschieben kannst du eine Komponente hiermit im MouseDown Ereigniss

Delphi-Quellcode:
// Mausereignisse abfangen
  ReleaseCapture;
  // mit TWinCotrol verschieben, $F012 verschiebt den Button
  TWinControl(Sender).Perform(WM_SYSCOMMAND, $F012, 0);
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Panel Professionel Resizen mit pfeilen etc...

  Alt 13. Apr 2008, 09:46
Verschieben:
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  ReleaseCapture;
  (Sender as TWinControl).Perform(WM_SYSCOMMAND, $F012, 0);
end;
kan aber auch ins OnMouseDown
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  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 11:41 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