AGB  ·  Datenschutz  ·  Impressum  







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

Drag&Drop ohne boarder?

Ein Thema von suni · begonnen am 25. Sep 2007 · letzter Beitrag vom 25. Sep 2007
Antwort Antwort
suni

Registriert seit: 19. Sep 2007
17 Beiträge
 
#1

Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 13:02
Hallo =)
Nette Community habt ihr da.
Hätte da mal eine Anfänger frage : Wie geht das nochmal das ich eine anwendung per drag and drop (ohne BorderStyle) hin und her ziehen kann? Hab anstelle des boarders ein TShape.
(Delphi6)
VielenDank
&
Liebe grüße
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 13:16
Hallo,

meinst Du, wie Du eine Form verschieben kannst, ohne die Caption zu nutzen?

Falls ja:
Delphi-Quellcode:
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
   ReleaseCapture;
   Form1.Perform(WM_SYSCOMMAND, $F012, 0);
End;
  Mit Zitat antworten Zitat
suni

Registriert seit: 19. Sep 2007
17 Beiträge
 
#3

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 13:33
Hi

Ja genau
Leider bekomme ich einen Fehler ";" expected but "(" found . Was hab ich falsch gemacht?Bin noch nicht so richtig vertraut mit der materie deswegen bitte ich um nachsicht.

Liebe grüße
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 13:35
Zitat von suni:
Was hab ich falsch gemacht?Bin noch nicht so richtig vertraut mit der materie deswegen bitte ich um nachsicht.
Das kann Dir leider niemand sagen, solange Du uns nicht Deinen Quelltext offenbarst
Aber irgendwo wirst Du wohl anstelle eines abschließenden Semikolons eine öffnende Klammer stehen haben.
(Der Compiler setzen den Cursor normalerweise direkt an die fehlerbehaftete Position - alternativ gelangst Du aber auch durch einen Doppelklick auf die Fehlermeldung dorthin.)
  Mit Zitat antworten Zitat
suni

Registriert seit: 19. Sep 2007
17 Beiträge
 
#5

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 13:53
Ich habe mithilfe eines users ein kleines tool erstellt um zu prüfen ob ein mutex present ist.
Der fehler scheint hier zu liegen:
Delphi-Quellcode:
Procedure TForm1.FormMouseDown[color=#00FF00]fehler[/color](Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
   ReleaseCapture;
   Form1.Perform(WM_SYSCOMMAND, $F012, 0);
End;
Hier mal mein Source

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, TFlatProgressBarUnit,
  TFlatMemoUnit, TFlatButtonUnit, jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ProgressBar1: TProgressBar;
    Image1: TImage;
    cap: TShape;
    bclose: TFlatButton;
    babout: TFlatButton;
    bmin: TFlatButton;
    FlatButton1: TFlatButton;
    FlatMemo1: TFlatMemo;
    FlatButton2: TFlatButton;
    FlatButton3: TFlatButton;
    FlatProgressBar1: TFlatProgressBar;
    Button2: TButton;
    procedure FlatButton1Click(Sender: TObject);
    procedure FlatButton3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure bcloseClick(Sender: TObject);
    procedure baboutClick(Sender: TObject);
    Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}


procedure TForm1.FlatButton1Click(Sender: TObject);

var

  hmutex: THandle; begin
   FlatButton1.enabled := false;
  hmutex := CreateMutex(NIL, FALSE, 'mutexname');
  if (hmutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then
  MessageBox(0, 'mutex is found =)', 'mutexsearch', MB_ICONINFORMATION)

else

MessageBox(0, 'mutex is not present', 'mutexsearch', MB_ICONINFORMATION);


end;


procedure TForm1.FlatButton3Click(Sender: TObject);
begin
 form2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form3.Show;
end;

procedure TForm1.bcloseClick(Sender: TObject);
begin
close;
end;

procedure TForm1.baboutClick(Sender: TObject);
begin
 form3.Show;
end;

   Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
   ReleaseCapture;
   Form1.Perform(WM_SYSCOMMAND, $F012, 0);
End;
end.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#6

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 14:10
Der Fehler liegt in Zeile 30.
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Da muss das 'TForm1.' weg.
Anschließend musst Du noch über den Objektinspektor dem Ereignis 'OnMouseDown' Deiner Form1 die Methode 'FormMouseDown' zuweisen.
  Mit Zitat antworten Zitat
suni

Registriert seit: 19. Sep 2007
17 Beiträge
 
#7

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 15:31
Vielen Danke für deine Hilfe. Ich habe es genauso gemacht wie beschrieben. Jetzt bekomme ich auf einmal in der "Type" liste einen fehler =(
"Unsatisfied forward or external declaration: `TForm1.MouseDown´

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, TFlatProgressBarUnit,
  TFlatMemoUnit, TFlatButtonUnit, jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ProgressBar1: TProgressBar;
    Image1: TImage;
    cap: TShape;
    bclose: TFlatButton;
    babout: TFlatButton;
    bmin: TFlatButton;
    FlatButton1: TFlatButton;
    FlatMemo1: TFlatMemo;
    FlatButton2: TFlatButton;
    FlatButton3: TFlatButton;
    FlatProgressBar1: TFlatProgressBar;
    Button2: TButton;

    procedure FlatButton1Click(Sender: TObject);
    procedure FlatButton3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure bcloseClick(Sender: TObject);
    procedure baboutClick(Sender: TObject);
 Fehler->Procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#8

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 15:46
Das passiert, wenn eine Methode zwar deklariert, aber nicht implementiert ist.

Deklaration
Delphi-Quellcode:
Type
   TForm1 = class(TForm)
      [...]
      Procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
      [...]
   end;
Implementierung
Delphi-Quellcode:
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
   ReleaseCapture;
   Form1.Perform(WM_SYSCOMMAND, $F012, 0);
End;
  Mit Zitat antworten Zitat
suni

Registriert seit: 19. Sep 2007
17 Beiträge
 
#9

Re: Drag&Drop ohne boarder?

  Alt 25. Sep 2007, 16:03
huch! Ok funktioniert nun...
Vielen Dank nochmal für deine Hilfe die in anspruch genommene Zeit
Super Forum!

LG
  Mit Zitat antworten Zitat
Antwort Antwort


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:20 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