Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Panel-Steuerung mit der Maus durch Taste aktivieren !!! (https://www.delphipraxis.net/18056-panel-steuerung-mit-der-maus-durch-taste-aktivieren.html)

taza 13. Mär 2004 15:34


Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
8)
Mal ne Frage!

Ist es möglich, die "Panel-Steuerung" mit der Maus erst durch einen best. Tastendruck zu aktivieren, also dass man vorher noch die Maus "so alleine" hat, ohne das einem das Panel folgt?

Danke schonmal............
8)

Luckie 13. Mär 2004 15:36

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
Setz einen Flag, den du mit der Taste setzt und immer vor einer Mausaktion abfragst, die das Panel betrifft.

taza 13. Mär 2004 17:38

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
Klingt gut, aber könntest du das etwas genauer erklären, weil ich hab' nicht so sehr viel Ahnung davon...............;-)

taza 14. Mär 2004 16:49

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
Was ist überhaupt ein Flag; am besten wär es, wenn jemand gleich ein Bsp machen würde - danke
:)

Lefko 14. Mär 2004 17:23

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
hi :hi:

na in dem OnClick des Buttons schreibst du einfach sowas wie

Delphi-Quellcode:
PanelBewegen := not PanelBewegen; //Typ boolean
und im OnMouseMove des Forms fragst du das dann in etwa so

Delphi-Quellcode:
if Panelbewegen then {bewege Panel}
               else {was weiss ich};
ab.

alles klar? :)

MfG Lefko

Robert_G 14. Mär 2004 17:34

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
Wenn der User dabei die linke Maustaste gerückt hält geht das:
im OnKeyDown des Formulars (KeyPreview des Forms muss auf True gesetzt werden)
Delphi-Quellcode:
  If key = [Virtual key code der Taste] Then
  Begin
    ReleaseCapture;
    SendMessage(DeinPanel.Handle, wm_SysCommand, $F012, 0);
  End;

taza 14. Mär 2004 18:53

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
aha; danke erstmal; ich werd's versuchen................. :)

taza 14. Mär 2004 19:06

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
:|

Als was muss ich denn "Panelbewegen" vereinbaren und was bedeutet "Boolean" ?

Sorry für meine "Dummheit" :wink:

:|

Jörn 14. Mär 2004 20:21

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
var Panelbewegen: bool;

boolean gibt entweder wahr(bzw true) oder unwahr(false) zurück. Sagt dir das jetzt was?

Lefko 14. Mär 2004 23:02

Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
 
hier:

Delphi-Quellcode:
//global deklarieren:
var PanMove : boolean;

...

//Tastenabfrage:
procedure TForm1.OnKeyDown(Sender : TObject; ... var Key : DWord);
begin
if Key = {deine Taste (z.B. VK_F1)} then          //KeyPreview des Forms auf true setzen!
  begin
   PanMove := not PanMove;
  end;
end;

...

//Panel bewegen:
procedure TForm1.OnMouseMove(Sender : TObject; ... X, Y : integer);
begin
Panel.Left := X - Panel.width div 2;   //Damit der Cursor auch in
Panel.Top := Y - Panel.height div 2;  //der Mitte des Panels ist
end;

(Da könntest du dann noch Abfragen einbauen, damit das Panel nicht ausserhalb der Form landet...)
Viel Spaß damit, hoffe, es ist richtig :)
MfG Lefko.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 Uhr.
Seite 1 von 2  1 2      

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