Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Cursor aus der main.cpl? (https://www.delphipraxis.net/185671-cursor-aus-der-main-cpl.html)

Mattze 29. Jun 2015 06:10

Cursor aus der main.cpl?
 
Hallo,

da gibt es einen Cursor namens "Verknüpfungsauswahl". Das ist diese Hand, die nach oben zeigt.
Als Ursprungsort für den Cursor steht bei mir in der Registry [pfad]\main.cpl,-1007. (Ich nehme jedenfalls an, dass das dieser Cursor ist. Es steht auf jeden Fall sowas bei den möglichen Cursoren zu einem Schema.)
Wie kriege ich diesen Cursor nun als TCursor da raus?
Von einer Datei mit dem Typ .CUR ist das kein Problem, aber von da...

(D7pro)

Gruß
Mattze

hathor 29. Jun 2015 07:30

AW: Cursor aus der main.cpl?
 
Wenn ich main.cpl starte kommt

Eigenschaften von Maus...

baumina 29. Jun 2015 07:38

AW: Cursor aus der main.cpl?
 
Delphi-Quellcode:
    Screen.Cursor := crHandPoint;

Mattze 29. Jun 2015 09:40

AW: Cursor aus der main.cpl?
 
Hallo,

habe ich irgendetwas von der Maus gesagt? Ich dächte nicht! Das wäre auch kein Problem.
Ich brauche den Cursor als Bild!
Nicht, um ihn irgendeiner Maus zuzuweisen.
Im Grunde so, wie die Liste im System zum Verändern des Mauscursors. Da stehen auch links Namen und rechts das Bild des Cursors. Und dort kann man es auswählen und erst dann der Maus zuordnen.

Übrigens: Das Delphi HandPoint entspricht nicht dem System "HandPoint".
Das heißt im System auch so, wie ich es geschrieben habe. Oftmals sogar nur "Hand".

Und zweitens:
Handpoint sollte eigentlich Tcursor(-10) sein. Funktioniert aber evtl. nur, wenn man es der Maus zuordnet. Trotzdem hat auch Delphi im Objektinspektor eine Liste mit den Cursorbildern.
Wo kommen diese Bilder her?

Also, vergesst bitte die Maus. Ich brauche den Cursor als Objekt, um ihn irgendwohin, in eine Liste, zu malen.

Gruß
Mattze

Captnemo 29. Jun 2015 12:28

AW: Cursor aus der main.cpl?
 
Warum machst du dir keine Screenshot, nimmst mspaint und schneidest dir den gewünschten Teil aus? Dann hättest du schon, was du möchtest.

hathor 29. Jun 2015 12:56

AW: Cursor aus der main.cpl?
 
Update

Dalai 29. Jun 2015 14:10

AW: Cursor aus der main.cpl?
 
Ich kenne jetzt keine zuverlässige Methode, um immer den richtigen Cursor zu ermitteln, weil diese ab Vista (oder Win7) durch das Theme geändert werden dürfen, sofern die entsprechende Option aktiviert ist. Im Aero-Theme, das durch die Datei %SystemRoot%\Resources\Themes\aero.theme definiert ist, steht aber drin, wo der Cursor zu finden ist: %SystemRoot%\Cursors\aero_link.cur.

MfG Dalai

Mattze 29. Jun 2015 14:35

AW: Cursor aus der main.cpl?
 
Hallo Dalai,

genau das ist das Problem, weshalb ein Screenshot auch nichts bringen würde.
Allein unter Win7 pro gibt es 12 verschiedene Schemata zur "Cursorauswahl".
Darunter auch aero-Schemata, die die Hand da haben, wo Du sagst.
Aber auch bei den anderen Themen gibt es eine Hand - und da wird eben nur main.cpl,-1007 (oder eine andere Nummer) angegeben.
(siehe: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Control Panel\Cursors\Schemes - Im Datenstring das allerletzte)

Man müsste dann also für jedes Thema einen Screenshot anfertigen und kann nie sicher sein, dass man auch den richtigen anzeigt!

Im Grunde kann man das Problem aber auch verallgemeinern:
Wie kriege ich aus eine MS-Ressource der Form "[Datei],-Nummer" das bezeichnete Element raus?
(Ich habe das nämlich auch noch bei anderen Dingen in der Registry gesehen.)

(Mit dem Ressourcen Hacker habe ich es übrigens auch nicht gefunden.)

Gruß
Mattze

Dalai 29. Jun 2015 14:49

AW: Cursor aus der main.cpl?
 
Zitat:

Zitat von Mattze (Beitrag 1307082)
Im Grunde kann man das Problem aber auch verallgemeinern:
Wie kriege ich aus eine MS-Ressource der Form "[Datei],-Nummer" das bezeichnete Element raus?

Ich bin mir nicht sicher, ob dir das hilft, denn ich habe weder in der main.cpl noch in der shell32.dll oder der imageres.dll die entsprechenden Cursor gefunden. Jede Menge Icons und Bitmaps, aber nicht diese Cursor.

Versuch vielleicht mal LoadCursor mit IDC_HAND. In About Cursors stehen auch noch ein paar möglicherweise relevante Dinge

MfG Dalai

Mattze 29. Jun 2015 15:32

AW: Cursor aus der main.cpl?
 
Hallo,

vielen Dank für Deinen Tipp.
Und dafür, dass Du in der main.cpl keine Cursoren gefunden hast.
Mir geht es nämlich genauso und da habe ich schon an mir gezweifelt.
Es ist auch nix "handähnliches" zu finden, kein Icon, kein Bitmap...

LoadCursor habe ich schon probiert. Das Problem: Es wird nur der entsprechende Cursor des aktuell eingeschaltenen Schemas ausgegeben. Ich möchte aber diesen Cursor für ein beliebiges Schema bekommen. Ein LoadCursorEx, bei dem man noch das Schema vorgeben kann, das wäre es gewesen...

Das andere gucke ich mal genauer. Vielleicht finde ich ja da was...

"[DateiName],-Nummer" habe ich schon mal irgendwo gesehen. Auch, wie man da ran kommt. Aber, ich glaube, das waren Stringressourcen. Trotzdem, mal suchen, vielleicht geht da etwas...
(Allerdings habe ich Stringressourcen auch nicht in der main.cpl gefunden!)

Gruß
Mattze


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Seite 1 von 2  1 2      

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