Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TPaintBox1.Cursor setzen ? (https://www.delphipraxis.net/166896-tpaintbox1-cursor-setzen.html)

madina 4. Mär 2012 19:13

TPaintBox1.Cursor setzen ?
 
Hallo an Alle,

ich versuche mit den folgenden SourceCode einen benutzerdefinierten Cursor für einen TPaintBox1 in dem Ereignissen TPaintBox1.MouseDown, TPaintBox1.MouseMove und TPaintBox1.MouseUp setzen.

Delphi-Quellcode:
{$R .\mycursor.res}

crHand:= 1;

screen.cursors[crHand]:= LoadCursor(hInstance, "cursor1");

{1. soweit ich versuche über einen ButtonKlick einen Zuweisung mache ist es kein Problem wie folgt die richtige benutzerdefinierte Mouse ist dann aktiv:}

PaintBox1.Cursor:= crHand;


{2. aber wenn ich versuche über die Ereignisse TPaintBox1.MouseDown, TPaintBox1.MouseMove und TPaintBox1.MouseUp eine Zuweisung an die TPaintBox1.Cursor mache, wird der Wert richtig überwiesen aber dann wird er nicht aktiv}

PaintBox1.Cursor:= crHand;


Warum ??????
Für eine Antwort wäre ich dankbar.
Madina

sx2008 4. Mär 2012 20:34

AW: TPaintBox1.Cursor setzen ?
 
Jedes Control ("visuelles Steuerelement") hat ja das Property Cursor.
Wenn die VCL merkt dass das Control unter dem Mauszeiger einen anderen Cursor hat, wird dieser Cursor angezeigt.
Nur wenn der Mauszeiger schon über dem Control ist bekommt die VCL eine Änderung des Cursor-Propertys nicht mit.
Möchte man den Cursor direkt verändern, dann geht das so:
Delphi-Quellcode:
Screen.Cursor := crHand;

Pitschki1801 4. Mär 2012 20:56

AW: TPaintBox1.Cursor setzen ?
 
Wenn du den Cursor nur für die Paintbox ändern willst, würde ich diesen im OnMouseEnter setzten.

Delphi-Quellcode:
procedure TForm1.PaintBox1MouseEnter(Sender: TObject);
begin
    Paintbox1.Cursor := crHandPoint;
end;

madina 4. Mär 2012 21:28

AW: TPaintBox1.Cursor setzen ?
 
Hallo,

aber ich will einen MouseCurosor über TPaintBox1 in nur seinen folgenden Ereignissen ändern:

Delphi-Quellcode:
Procedure TForm1.TPaintBox1.MouseDown()
begin
  PaintBox1.Cursor:= crDefault;
end;

Procedure TForm1.TPaintBox1.MouseMove()
begin
  PaintBox1.Cursor:= crHand;
end;

Procedure TForm1.TPaintBox1.MouseUp()
begin
  PaintBox1.Cursor:= crDefault;
end;
Wie kann ich sowas realisieren und dem TPaintBox sagen, jetzt mußt du die Curor-Anzeige ändern?

MFG

Pitschki1801 4. Mär 2012 22:15

AW: TPaintBox1.Cursor setzen ?
 
Das kann so nicht funktionieren, wenn du dir nochmal genau anschaust was du da tun willst.
Wenn du den Cursor immer crHand stehen haben möchtest was spricht dagegen diesen als Defaultwert einzustellen?
Du musst dann aber dafür sorgen das der Cursor nach einem Click auch wieder zurück gesetzt wird z.B. im OnMouseLeave

madina 7. Mär 2012 18:48

AW: TPaintBox1.Cursor setzen ?
 
Hallo,

leider

OnMouseLeave und
OnMouseEnter

finde ich nirgendswo ?

MFG

DeddyH 7. Mär 2012 18:53

AW: TPaintBox1.Cursor setzen ?
 
Welche Delphi-Version?

madina 7. Mär 2012 19:09

AW: TPaintBox1.Cursor setzen ?
 
Hallo,

Delphi V5

MFG


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 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