AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Panel-Steuerung mit der Maus durch Taste aktivieren !!!

Panel-Steuerung mit der Maus durch Taste aktivieren !!!

Ein Thema von taza · begonnen am 13. Mär 2004 · letzter Beitrag vom 15. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2   
taza

Registriert seit: 11. Mär 2004
Ort: Berlin
34 Beiträge
 
Delphi 5 Standard
 
#1

Panel-Steuerung mit der Maus durch Taste aktivieren !!!

  Alt 13. Mär 2004, 16:34
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)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 13. Mär 2004, 16:36
Setz einen Flag, den du mit der Taste setzt und immer vor einer Mausaktion abfragst, die das Panel betrifft.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
taza

Registriert seit: 11. Mär 2004
Ort: Berlin
34 Beiträge
 
Delphi 5 Standard
 
#3

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

  Alt 13. Mär 2004, 18:38
Klingt gut, aber könntest du das etwas genauer erklären, weil ich hab' nicht so sehr viel Ahnung davon...............
  Mit Zitat antworten Zitat
taza

Registriert seit: 11. Mär 2004
Ort: Berlin
34 Beiträge
 
Delphi 5 Standard
 
#4

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

  Alt 14. Mär 2004, 17:49
Was ist überhaupt ein Flag; am besten wär es, wenn jemand gleich ein Bsp machen würde - danke
  Mit Zitat antworten Zitat
Lefko

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#5

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

  Alt 14. Mär 2004, 18:23
hi

na in dem OnClick des Buttons schreibst du einfach sowas wie

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
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

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

  Alt 14. Mär 2004, 18:34
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;
  Mit Zitat antworten Zitat
taza

Registriert seit: 11. Mär 2004
Ort: Berlin
34 Beiträge
 
Delphi 5 Standard
 
#7

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

  Alt 14. Mär 2004, 19:53
aha; danke erstmal; ich werd's versuchen.................
  Mit Zitat antworten Zitat
taza

Registriert seit: 11. Mär 2004
Ort: Berlin
34 Beiträge
 
Delphi 5 Standard
 
#8

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

  Alt 14. Mär 2004, 20:06


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

Sorry für meine "Dummheit"

  Mit Zitat antworten Zitat
Jörn

Registriert seit: 5. Sep 2003
Ort: Helmstedt
312 Beiträge
 
#9

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

  Alt 14. Mär 2004, 21:21
var Panelbewegen: bool;

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

Registriert seit: 31. Jul 2003
359 Beiträge
 
Delphi 6 Enterprise
 
#10

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

  Alt 15. Mär 2004, 00:02
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.
Johannes
-=[Nennst du meinen Namen, bin ich schon nicht mehr da]=-
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:37 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