Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Panel zur Laufzeit erzeugt, lässt sich aber nicht bewegen


kiwicht - Mi 14.07.04 21:08
Titel: Panel zur Laufzeit erzeugt, lässt sich aber nicht bewegen
Moin,

hab mir jetzt nach einem Thread hier im Forum und der tatkräftigen Hilfe gestern abend :) folgendes zusammengebastelt:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TfrmMain.btn_createpanelsClick(Sender: TObject);
var
  i : Integer;
begin
  SetLength(pan_rechner,lb_ergebnisseDNS.Items.Count);
  for i := 0 to lb_ergebnisseDNS.Items.Count - 1 do
  begin
    pan_rechner[i] := TPanel.Create(Self);
    pan_rechner[i].Parent := sb_hosts;
    pan_rechner[i].Width := 125;
    pan_rechner[i].Height := 40;
    pan_rechner[i].Left := (0);
    pan_rechner[i].Top := (i * 40);
    pan_rechner[i].Name := 'PANEL' + IntToStr(i);
    pan_rechner[i].Caption := lb_ergebnisseDNS.Items[i];
    pan_rechner[i].OnClick := PanelMove;
  end;
  lab_rechnercount.Caption := 'Rechner: ' + IntToStr(i);
end;



Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TfrmMain.PanelMove(Sender : TObject);
begin
  ReleaseCapture;
  TPanel(Sender).perform(WM_SysCommand, $F0120);
end;


Nun dachte ich mir eigentlich, wenn ich jetzt auf eins der dynamischen Panels klicke, das sie sich verschieben lassen... tut´s aber nicht :(

Weiss jemand warum? Hab schon versucht hier drin
TPanel(Sender).perform(WM_SysCommand, $F012, 0);

das Sender durch Sender as TPanel zu ersetzen, führt aber leider zu nichts.

danke für eure Hilfe

ki


Anonymous - Mi 14.07.04 21:10

Nimm statt OnClick OnMouseMove


kiwicht - Mi 14.07.04 21:44

thx :)

Aber.. und, erm... und dann? ^^ (... gibts ne Fehlermeldung :( )[Fehler] Unit1.pas(146): Inkompatible Typen: 'Liste der Parameter ist unterschiedlich')

ki


Anonymous - Mi 14.07.04 21:49


Delphi-Quelltext
1:
2:
procedure TfrmMain.PanelMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);


So ist sie richtig :D


kiwicht - Mi 14.07.04 22:03

ach herrlich, klappt jetzt wie´s Brötchen backen :D

Danke dir

ki