PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Delphi] Mauscurser ausblenden?


Mark
2004-10-25, 13:52:28
wie kann ich in delphi den mauscurser ausblenden wenn er auf meiner form ist? bzw wie kann ich ihn systemweit ausblenden?

Crushinator
2004-10-25, 15:20:22
Nur den eigenen Cursor, also den vom App blendet man so aus:
Screen.Cursor := -1;
Systemweit ist's einwenig komplizierter, sollte aber so gehen:

procedure BlendeCursorAnAus(Mode: Boolean);
Var
MyCursor: HCURSOR;
begin

if (Mode) then
// Einen leeren Cursor als Cur-Datei einbinden
MyCursor := LoadCursorFromFile('leer_cursor.cur')
else
// Das ist nicht wirklich toll
//MyCursor := LoadCursor(0, IDC_ARROW);
MyCursor := LoadCursor(HInstance, 'GESPEICHERTER_NORMAL_CURSOR');
SetSystemCursor(MyCursor, OCR_NORMAL);
end;
Wie Du einen leeren Cursor erstellst, und gleich in die EXE hineinlinken kannst, wird hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=2350455#post2350455) gut beschrieben. Wenn Du es so machen möchtest, brauchst Du nur den True-Bereich durch
MyCursor := LoadCursor(HInstance, 'NAME_DES_LEEREN_CURSORS_IM_RES_ED'); zu erstezen. :)

[edit]
Vorsicht, ich habe es eben ausprobiert und festgestellt, daß es sinnvoll wäre entweder den aktuellen System-Cursor in einem globalen Objekt bzw. globaler Variable zu speichern und ihn beim einblenden wiederherzustellen, oder man nimmt einen eigenen normalen Windows-Pfeilcursor, den man wie in meinem korrigierten Code wiederherstellt.

Mark
2004-10-25, 15:27:50
ok, danke