AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Handcursorgrafik

Ein Thema von kroete · begonnen am 18. Apr 2008 · letzter Beitrag vom 28. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
kroete

Registriert seit: 28. Feb 2008
43 Beiträge
 
Delphi 2005 Personal
 
#1

Handcursorgrafik

  Alt 18. Apr 2008, 17:32
Hallo ihr lieben!

Ich bin heute auf ein Designproblem gestoßen.
Und zwar sieht der crHandPoint-Cursor von Delphi einfach nur scheußlich aus und ändert sich auch nicht wie alle anderen nach dem Systemstandard ( ich hab gestylte cursors, also merk ich das auch immens).

Wie kann ich das ändern?
Muss ich da über eigene Cursorbilder ausweichen?
Wenn ja, wich mach ich das?
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Handcursorgrafik

  Alt 18. Apr 2008, 18:08
1. ja
2. die Suche hier nach Hier im Forum sucheneigener Cursor benutzen
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
kroete

Registriert seit: 28. Feb 2008
43 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Handcursorgrafik

  Alt 18. Apr 2008, 19:11
Kroko, danke für die schnelle antwort.
Aber die Antwort auf die erste Frage befriedigt mich iwie nicht so wirklich...

Und einen eigenen Cursor zu benutzen muss doch wohl nicht sein, oder??
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Handcursorgrafik

  Alt 18. Apr 2008, 19:13
im Oi siehst Du unter Cursor alle standardmäßigen "Delphi"&"Windoofs"-Cursor, alles andere musst Du selber einbringen!
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Handcursorgrafik

  Alt 18. Apr 2008, 19:18
Ich habe diese Lösung (es ist die, die Kroko erwähnt hat), vor Jahren in der DP entdeckt und meines Wissens hatte ich die cursor.res auch von hier. Ich hoffe, es ist erlaubt, diese anzuhängen.

Delphi-Quellcode:
// ...
{$R cursors.res}  //Normale Hand als Cursor
{$R *.dfm}
// ...
Delphi-Quellcode:
// OnCreate
//Handcursor einstellen (normale Hand)
Screen.Cursors[crHandPoint] := LoadCursor(HInstance, 'HAND');
Die Resourcendatei ist im Anhang. Falls es nicht erlaubt sein sollte, diese anzuhängen, sagt mir bitte bescheid. Ich bin mir aber ziemlich sicher, dass ich diese nicht selbst erzeugt, sondern - wie gesagt - aus der DP habe.

Ein schönes Wochenende wünscht
Matze
Angehängte Dateien
Dateityp: txt cursors_565.txt (872 Bytes, 22x aufgerufen)
  Mit Zitat antworten Zitat
kroete

Registriert seit: 28. Feb 2008
43 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Handcursorgrafik

  Alt 18. Apr 2008, 19:45
Hach, danke Matze, es funkt ^^
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Handcursorgrafik

  Alt 27. Aug 2008, 12:46
Hallo.

Entschuldigt bitte, dass ich das Thema wieder hochhole. Ich habe das selbe Problem, möchte jedoch den Hand-Cursor NICHT "hard-coden". Wenn sich der Benutzer entschließt, in der Systemsteuerung unter "Maus" -> "Zeiger" -> "Verknüpfungsauswahl" z.B. einen Hundehaufen als Hand-Zeiger einzustellen, dann ist es ja irgendwie unpassend, wenn die Standardhand in der Delphi-Applikation erscheint. Außerdem hat Vista ja z.B. auch bei etwas genauerem Hinschauen einen etwas anderen Handcursor. Ich habe schon lange gesucht, aber nie einen Codeteil gefunden, der es erlaubt, den richtigen Hand-Cursor von Windows zu beziehen.

Dafür muss es doch eine API-Funktion geben, oder nicht?

Und wenn es keine API-Funktion geben sollte, müsste man doch trotzdem über die Registry und den Dateipfad an den aktuell gültigen Handcursor kommen.

In Visual Basic 6 musste man hierfür folgendes machen:

Code:
Private Sub Link1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Dim lHandle As Long
  lHandle = LoadCursor(0, HandCursor)
  If (lHandle > 0) Then SetCursor lHandle
End Sub
(Ich weiß hier aber nicht genau, ob das auch eine Art harte Kodierung ist)

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Handcursorgrafik

  Alt 27. Aug 2008, 12:53
Damit wird der HandCursor des Systems geladen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Handcursorgrafik

  Alt 27. Aug 2008, 12:56
Der VB-Code erzeugt also tatsächlich den aktuell ausgewählten Handcursor? Kann man diese Funktionalität dann in Delphi übertragen?

// Edit: Altes Visual Basic 6 Projekt ausgegraben und mit modifizierten Hand-Cursor getestet: Es funktioniert tatsächlich. Aber wie macht man das in Delphi?
Daniel Marschall
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Handcursorgrafik

  Alt 27. Aug 2008, 17:13
Ich habe jetzt schon so viel probiert, aber irgendwie funktioniert das nicht ganz...

Delphi-Quellcode:
const
  crWindowsHand = 30; // 0..22 belegt

// [url]http://www.delphi-library.de/viewtopic.php?p=258[/url]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Screen.Cursors[crWindowsHand] := LoadCursor(HInstance, 'IDC_ARROW');
  form1.Cursor := crWindowsHand;
end;
IDC_ARROW scheint nach meinen Recherchen der echte Windows-Handzeiger zu sein. Aber der Code funktioniert nicht.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:45 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