Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Dem crDrag-Cursor ein Pluszeichen hinzufügen? (https://www.delphipraxis.net/132137-dem-crdrag-cursor-ein-pluszeichen-hinzufuegen.html)

PeterPanino 6. Apr 2009 23:56


Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Hallo, wie kann man bei einem Drag and Drop Vorgang dem DragCursor crDrag ein Plus-Zeichen hinzufügen? Damit sollte für den Anwender ersichtlich sein, dass das gedraggte Element nicht verschoben sondern kopiert wird.

mkinzler 7. Apr 2009 05:39

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Erzeuge einen eigenen Cursor, den du dann z.B. als Ressource einbinden und für den Vorgang verwenden kannst

s.h.a.r.k 7. Apr 2009 09:57

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
@mkinzler: die möglichkeit hätte ich an sich auch vorgeschlagen, ABER:

es gibt diesen cursor doch schon von windows aus und ich denke, dass man den schon irgendwie von "dort" (dll oder dergleichen) holen kann. somit hätte man immer den system-cursor. ich denke das wird es wohl eher sein, was du willst, PeterPanino?

ich habe nur leider keinerlei ahnung, wo der stecken sollte...

Mithrandir 7. Apr 2009 10:12

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Zitat:

Zitat von s.h.a.r.k
es gibt diesen cursor doch schon von windows

Also, ich habe im Ordner "Cursors" keinen gefunden, der so aussieht. Ansonsten sind in der Unit "Controls" alle Cursor definiert:

Delphi-Quellcode:
const
  crDefault    = TCursor(0);
  crNone       = TCursor(-1);
  crArrow      = TCursor(-2);
  crCross      = TCursor(-3);
  crIBeam      = TCursor(-4);
  crSize       = TCursor(-22);
  crSizeNESW   = TCursor(-6);
  crSizeNS     = TCursor(-7);
  crSizeNWSE   = TCursor(-8);
  crSizeWE     = TCursor(-9);
  crUpArrow    = TCursor(-10);
  crHourGlass  = TCursor(-11);
  crDrag       = TCursor(-12);
  crNoDrop     = TCursor(-13);
  crHSplit     = TCursor(-14);
  crVSplit     = TCursor(-15);
  crMultiDrag  = TCursor(-16);
  crSQLWait    = TCursor(-17);
  crNo         = TCursor(-18);
  crAppStart   = TCursor(-19);
  crHelp       = TCursor(-20);
  crHandPoint  = TCursor(-21);
  crSizeAll    = TCursor(-22);
Und TCursor ist definiert als:
Delphi-Quellcode:
type
  TCursor = -32768..32767;
  {$NODEFINE TCursor}

  (*$HPPEMIT 'namespace Controls'}*)
  (*$HPPEMIT '{'}*)
  (*$HPPEMIT '#pragma option -b-'*)
  (*$HPPEMIT ' enum TCursor {crMin=-32768, crMax=32767};'}*)
  (*$HPPEMIT '#pragma option -b.'*)
  (*$HPPEMIT '}'*)

Frankfurtoder 7. Apr 2009 10:36

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Objektinspektor, DragCursor crMultiDrag... sowas?

PeterPanino 7. Apr 2009 10:44

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Zitat:

Zitat von s.h.a.r.k
@mkinzler: die möglichkeit hätte ich an sich auch vorgeschlagen, ABER:

es gibt diesen cursor doch schon von windows aus und ich denke, dass man den schon irgendwie von "dort" (dll oder dergleichen) holen kann. somit hätte man immer den system-cursor. ich denke das wird es wohl eher sein, was du willst, PeterPanino?

Ja, genau!

PeterPanino 7. Apr 2009 10:46

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Zitat:

Zitat von Frankfurtoder
Objektinspektor, DragCursor crMultiDrag... sowas?

Beim crMultiDrag wird bei mir kein Pluszeichen angezeigt, sondern mehrere Kästchen diagonal hintereinander (also die visuelle Entsprechung von Multi).

himitsu 7. Apr 2009 11:49

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Das Andere sind "eigene" Cursor des Explorers (explorer.exe) und verstecken sich denmach in irgendeiner von im genutzten DLLs.

Mithrandir 7. Apr 2009 12:20

Re: Dem crDrag-Cursor ein Pluszeichen hinzufügen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also in der Shell32.dll befindet sich ein Drag'n'Drop-Cursor, allerdings nicht der, den Windows standardmäßig hat. Das Control, was zur Anzeige im Explorer genutzt wird, nennt sich "SysListView32". Vielleicht ist das ein Cursor, den nur dieses Control hat? :gruebel:


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