AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Cursor Resource Einbinden klapt nicht warum ?
Thema durchsuchen
Ansicht
Themen-Optionen

Cursor Resource Einbinden klapt nicht warum ?

Ein Thema von madina · begonnen am 23. Jul 2009 · letzter Beitrag vom 28. Jul 2009
Antwort Antwort
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#1

Cursor Resource Einbinden klapt nicht warum ?

  Alt 23. Jul 2009, 20:30
Hallo,

ich habe versucht mit Resource Workshop V4.5, 5 verschiedene Cursors erstellt und in ein MyCursor.rc abgespeichert.

Dann mit brcc32.exe MyCursor.rc kompiliert
und ohne Probleme mir MyCursor.res ausgegeben.

{$R MyCursor.res} in mein Prog eingebunden und kompiliert keine Probleme.

dann in FormCreate wie folgt aufgerufen:
const cuHand= 1;
cuFaust=2;
Screen.Cursors[cuHand] := LoadCursor(HInstance, 'Cursor_1');
Screen.Cursors[cuFaust]:= LoadCursor(HInstance, 'Cursor_2');

PaintBox1.Cursor:= cuFaust;

Frage ?:
er ändert den PaintBox1.Cursor überhaupt nicht, obwohl er keine Fehler ausgibt

warum??

mfg
mfg
madina
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 24. Jul 2009, 05:28
Zitat von Die Delphi-Hilfe:
Deklarieren Sie eine Cursor-Konstante, die nicht mit vorhandenen Cursor-Konstanten kollidiert.
1 und 2 kollidieren bei dir scheinbar mit einem bestehenden Cursor.
So müsste es theoretisch immer funktionieren:
Delphi-Quellcode:
var
  crMeine : Integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  crMeine := Screen.CursorCount + 1;
  Screen.Cursors[crMeine] := LoadCursor(HInstance, '3DWMOVE');
  PaintBox1.Cursor := crMeine;
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 24. Jul 2009, 09:38
Eigentlich ist an dem gezeigten Quelltext, hier mal mit delphi-Tags

Delphi-Quellcode:
const
  cuHand = 1;
  cuFaust = 2;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.Cursors[cuHand] := LoadCursor(HInstance, 'Cursor_1');
  Screen.Cursors[cuFaust]:= LoadCursor(HInstance, 'Cursor_2');

  PaintBox1.Cursor := cuFaust;
end;
nichts falsch.


Alle Systemcursors haben einen Wert kleiner oder gleich Null.
Dem zufolge sollte das Beispiel funktionieren.

Was ich mir vorstellen kann ist, das die Cursors nicht geladen wurden.
Einfach mal wie folgt überprüfen:

Delphi-Quellcode:
const
  cuHand = 1;
  cuFaust = 2;

procedure TForm1.FormCreate(Sender: TObject);

  function LoadCursorFromResource(Instance: hInst; ResName: PChar): HCURSOR;
  begin
    Result := LoadCursor(Instance, ResName);
    if Result = 0 then
      ShowMessage(format('Cursor "%s" konnte nicht geladen werden.', [ResName]));
  end;

begin
  Screen.Cursors[cuHand] := LoadCursorFromResource(HInstance, 'Cursor_1');
  Screen.Cursors[cuFaust] := LoadCursorFromResource(HInstance, 'Cursor_2');

  PaintBox1.Cursor := cuFaust;
end;
Ohne diese Abfrage über eine Hilfsvariable wird im Falle das der Cursor nicht
geladen bzw. in der Resource gefunden wurde keine Fehlermeldung erzeugt.
Der Rückgabewert von LoadCursor ist im Fehlerfall Null (0) das heisst der
Defauldcursor (IDC_ARROW) würde geladen / angezeigt.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#4

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 24. Jul 2009, 15:41
Hallo,

wie richtig vermutet er liest den Cursor nicht richtig.

Ich habe versucht einzeln ein *.cur nach *rc zu speichern und dann brcc32.exe *.rc *.res ausgeführt. Er kann aber einzeln lesen.

Aber wie kann ich alle meine Cursors zusammen in eine *.res datei packen ??

mfg
mfg
madina
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 24. Jul 2009, 15:48
Hallo

Z.B. so:

Cursor einbinden
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#6

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 25. Jul 2009, 18:53
Hallo,

nun habe ich geschafft alle meine *.cur Dateien in einem *.rc uns danach in *.res zu kompilieren und in mein Application erfolgreich einbinden und jeden Mauszeiger einzeln je nach Wunsch ansprechen und darstellen.

nächstes Problem:

Wenn ich in OnMouseDown(), OnMouseMove() und OnMouseUp() den Screen.Cursor:= cur... setze ist alles kein Problem, wenn ich nur den Mauszeiger für PaintBox1.Cursor:= cur... ändere, ändert sich der Mauszeiger unter gleichen o.g. Bedingungen nicht wie gewünscht alle richtig ansprechen und darstellen.

warum ??

mfg
mfg
madina
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 25. Jul 2009, 19:06
Könntest du mal dein Programm/Source als Zip anhängen ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#8

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 28. Jul 2009, 13:38
Hallo,

wie gewünscht der Sourcedaten

nur bei Zuweisung der Cursorzeigern beim PaintBox1.Cursor klappe nicht alle Zeigerzuweisungen.

mfg
Angehängte Dateien
Dateityp: zip test_310.zip (21,1 KB, 10x aufgerufen)
mfg
madina
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 28. Jul 2009, 14:14
Das Problemchen ist das der Faustcursor immer wieder auf den Handcursor gesetzt wird.

Genau an dieser Stelle:
Delphi-Quellcode:
procedure TfrmPrintPreview.sbHandLupeClick(Sender: TObject);
begin
  if (sbHandLupe.Down) then PaintBox1.{Screen}Cursor:= crLupe
  else PaintBox1.{Screen}Cursor:= crHand;
end;
sbHandLupeClick wird in PaintBox1MouseUp aufgerufen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#10

Re: Cursor Resource Einbinden klapt nicht warum ?

  Alt 28. Jul 2009, 20:03
Hallo,

solange ich den linken MouseTaste gedrückt halte und Mouse bewege sollte er eigentlich keine Fauständerung geben (was sich in Screen.Cursor ganz OK verhält) in der OnmouseMove. Wenn ich los lasse dann gibt es eine Mouseänderung zum crHand.

mfg
mfg
madina
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:43 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