AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Rechte Maustaste auf Image blockieren

Rechte Maustaste auf Image blockieren

Ein Thema von Stony2k · begonnen am 18. Jun 2005 · letzter Beitrag vom 27. Jun 2005
Antwort Antwort
Seite 1 von 3  1 23   
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#1

Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 16:14
Moin,

es geht um folgendes. Ich benutze in meinem Programm selbst erstellte Buttons, sprich image Dateien, die bei der Mouse Down, bzw. der Mouse Up Event das Bild wechseln und einem label darüber, wo beim klick der Left und Top Wert verändert wird.
Funzt auch alle prima soweit. Nun mein Problem:
Man kann auch mit der rechten Maustaste auf den "Button" klicke, was ich aber für ziemlich unestetisch halte, da man bei den original Buttons auch nicht rechts drauf klicken kann.
Bei meiner Suche nach einem passenden Thread habe ich nun folgedes gefunden:
Code:
If (GetAsyncKeyState(VK_RButton) < 0) Then
funzt auch soweit, allerdings verschiebt sich das Label komischerweise nach oben Rechts, aber ungewollt ebend.
Kennst einer von euch vllt. eine Lösung auf mein Problem?
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 16:16
Die OnClick-Methode liefert dir unter anderem auch den Parameter "Shift" mit. Schau dir da mal die OH zu TShiftState an

\\edit: Oha, TImage tut dies nicht... sorry -> falsch

Nimm dann anstelle von OnClick besser OnMouseUp, da bekommste Shift mitgeliefert.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 16:32
im OnMouseDown und OnMouseUp bekommst du doch als Parameter welcher Mousebutton down bzw. up ging. Reagiere in den Events also nur wenn sie durch den linken Mousebutton ausgelöst wurden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 16:41
Ja ich arbeite ja mit Mouse Down und mit Mouser UP, nicht mit Click.
Aber die Frage ich wie ich das ganze mit dem Shift Integer abfrage
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 16:47
Delphi-Quellcode:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if ssRight in Shift then
 exit;
end;

Das dürfte klappen *g*
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 17:03
warum shift, du hast doch den Parameter "Button"
Delphi-Quellcode:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin

  end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 17:13
Ok ihr wart alle schneller.
Habe es während ich gerade offline war mit Mühe in der Delphi Hilfe gefudnen (Stolz ist).
Code:
begin
if ssLeft in Shift then
  begin
    image1.Picture:=img_btn_gedrueckt.Picture;
    Label1.Top:=Label1.Top+2;
    Label1.Left:=Label1.Left-1;
    sendText(befehle[1].befehl);
  end;
Das Problem war folgendes:
Code:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
image1.Picture:=img_btn_normal.Picture;
    Label1.Top:=Label1.Top-2;
    Label1.Left:=Label1.Left+1;
end;
so war der andere Code.
Die Rechte Maustaste ging zwar nicht aber die Mouse Up Event wurde ja dennoch ausgelöst, darum hat sie das Label dann auch immer verschoben. So sieht nun der neue Code aus und es funzt wunderbar, ich muss sagen ohne euch wäre ich nicht darauf gekommen

Code:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
  begin
    image1.Picture:=img_btn_normal.Picture;
    Label1.Top:=Label1.Top-2;
    Label1.Left:=Label1.Left+1;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Rechte Maustaste auf Image blockieren

  Alt 18. Jun 2005, 17:26
und was spricht gegen
Delphi-Quellcode:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    image1.Picture:=img_btn_normal.Picture;
    Label1.Top:=Label1.Top-2;
    Label1.Left:=Label1.Left+1;
  end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Rechte Maustaste auf Image blockieren

  Alt 19. Jun 2005, 14:20
jau danke nun funzt es wunderbar.
Hatte nämlich später das Problem, dass die Mouse UP Event nicht mehr ausgelöst wurde.
Aber so scheint es nun zu funzen, danke. Ansonsten melde ich mich.
  Mit Zitat antworten Zitat
Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Rechte Maustaste auf Image blockieren

  Alt 20. Jun 2005, 15:11
*hochschieb*
Weiss keiner nen Rat?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

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 06:43 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