Autor Beitrag
GSE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 740

Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
BeitragVerfasst: So 22.12.02 16:03 
Ja Hallo, erstmal! :wave:

Ich habe ein Problem, und zwar:

Möchte ich, dass man ein Panel zur Laufzeit durch Anklicken & Ziehen vergrößern bzw. verkleinern kann (wie in der Entwicklungsumgebung). Nur habe ich überhaupt keine Idee! :cry:

Habe auch im Internet nichts dazu gefunden! Also: Bitte helft mir! :bawling:

Danke im Voraus!
GSE

(23.12. 10:35 Tino) Werbelink entfernt.
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mi 01.01.03 21:38 
Hier ein Gedankenanstoß:

mein Panel heißt leider Memo1 weil ich es erst mit nem memo probiert habe, funktioniert aber auch bei nem panel. es ist noch nicht vollständig un nur ein gedankenanstoß :idea: , man kann nur die rachte seite durch einen klick verschieben...
nun der Quelltetxt:
man braucht die ereignisse onmousedown onmousemove und onmouseup des Panels, außerdem habe ich noch die Variablen xm (xwert der maus) und mouseisdown benutzt. wenn nun der x-wert der von onmousedown am rechten rand ist wird xm:=x gesetzt und onmouseisdown:=true. dann wird bei onmousemove überprüft ob der übergebene wert von x sich von xm unterscheidet und wenn ja, dann wird panel1.width (Hier:memo1.width) um die differenz vergrößert. :shock:

falls etwas nicht klar ist frag nach.

Fiji-Fighter
ausblenden volle Höhe 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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure Memo1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Memo1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  XM:Integer;
  mouseisdown:boolean=falsE;

implementation

{$R *.dfm}

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if (x>memo1.Width-10)and (x<=memo1.Width) then
begin
 XM:=x;
mouseisdown:=true;
end;
end;

procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if mouseisdown then
memo1.Width:=memo1.Width-(xm-x);
xm:=x;
end;

procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Mouseisdown:=false;
end;

end.


(01.01. 23:09 Tino) Code-Tags hinzugefügt.