![]() |
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) |
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.
|
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...............;-)
|
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
:) |
Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
hi :hi:
na in dem OnClick des Buttons schreibst du einfach sowas wie
Delphi-Quellcode:
und im OnMouseMove des Forms fragst du das dann in etwa so
PanelBewegen := not PanelBewegen; //Typ boolean
Delphi-Quellcode:
ab.
if Panelbewegen then {bewege Panel}
else {was weiss ich}; alles klar? :) MfG Lefko |
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; |
Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
aha; danke erstmal; ich werd's versuchen................. :)
|
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: :| |
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? |
Re: Panel-Steuerung mit der Maus durch Taste aktivieren !!!
hier:
Delphi-Quellcode:
Viel Spaß damit, hoffe, es ist richtig :)
//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...) MfG Lefko. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz