AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Non-Vcl -> Bmp SS_NOTIFY dilemma
Thema durchsuchen
Ansicht
Themen-Optionen

Non-Vcl -> Bmp SS_NOTIFY dilemma

Ein Thema von KodeZwerg · begonnen am 19. Aug 2020 · letzter Beitrag vom 21. Aug 2020
 
venice2
(Gast)

n/a Beiträge
 
#9

AW: Non-Vcl -> Bmp SS_NOTIFY dilemma

  Alt 20. Aug 2020, 16:24
Zitat:
Bmp SS_NOTIFY dilemma
Nachdem ich meine Nase nochmal tiefer in die WinApi Referenz gesteckt habe bin ich auf eine bessere Lösung gekommen.
SetClassLongPtr(Cardinal(hWndArr[1]), Integer(GCL_HCURSOR), Integer(LoadCursor(hWndArr[0], IDC_HAND)));
sorry muss da leider noch mal leicht eingreifen.
32 und 64 Bit der zustand ist das SetClassLongPtr je nach verwendeten kompilat zwei werte annehmen kann 4Bit\32Bit 8Bit\64Bit
deshalb ja der umstand das man nicht mehr SetClassLong oder vergleichbares verwenden soll.

SetClassLongPtr(Cardinal(hWndArr[1]), Integer(GCL_HCURSOR), Integer(LoadCursor(hWndArr[0], IDC_HAND)));
zu
SetClassLongPtr(Cardinal(hWndArr[1]), Integer(GCL_HCURSOR), LONG_PTR(LoadCursor(hWndArr[0], IDC_HAND)));
oder
SetClassLongPtr(Cardinal(hWndArr[1]), WParam(GCL_HCURSOR), LParam(LoadCursor(hWndArr[0], IDC_HAND)));

Dann bist du auf den richtigen weg.
Nicht nur die richtige Funktion sondern auch den entsprechenden Daten Typ dazu verwenden sonst macht es keinen sinn.
WParam, LParam sollte die richtige Bit Größe zuweisen je nach dem welche art von Class man verwendet WNDCLASSEX \ WNDCLASS

Siehe dazu nochmal!

Code:
ULONG_PTR SetClassLongPtrA(
  HWND    hWnd,
  int     nIndex,
  LONG_PTR dwNewLong
);
LONG_PTR

Nebenbei kannst du in deiner Class einen Speicher reservieren der für deine Propertys zuständig ist.
Siehe dazu "cbWndExtra"

Geändert von venice2 (20. Aug 2020 um 18:08 Uhr)
  Mit Zitat antworten Zitat
 


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 11:24 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