Hintergrundfarbe für Controls ermitteln OHNE GetPixel

    • Offizieller Beitrag

    Wie sieht denn "GetBkColor(hDC)" innendrin aus, wird da vielleicht ein SendMessage verwendet?

    Das ist in Nim der direkte WinApi-Aufruf (wie "DllCall('gdi32.dll', 'dword', 'GetBkColor', 'handle', $hDC)" in "_WinAPI_GetBkColor" in AutoIt).

    Die Antwort von Bilgus würde ich auch so interpretieren, aber das kann nicht die (ganze) Wahrheit sein, sonst würde der Fehler auch unter Nim auftreten.

  • In AutoIt habe ich mir _WinAPI_GetBkColor() genauer angesehen, aber da ist nichts, was das erklären könnte.

    Code
    let idText = StaticText(panel, label = "Test", pos=(10, 10), size=(100, 30), style=wAlignCentre or wBorderSimple)
    idText.setBackgroundColor(0x00FFAA88)

    Für mich sieht das aus, als würde NIM ein Objekt erstellen (idText). Vielleicht wird dabei auch gleich das Brush-Objekt erzeugt!? Dann wäre SendMessage natürlich überflüssig in NIM.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Aus Posting #12:

    Die Fragen zu SendMessage und dem Freigeben des Brush-Objekts sind geklärt

    Das stimmt nun nicht mehr. Nachdem Bitnugger mich auf interessante Informationen aufmerksam gemacht hat, gehe ich davon aus, dass das Freigeben des Brush-Objekts nicht hierhin gehört. Deshalb habe ich es aus dem Code und dem Demo entfernt, da ich auch nach langer Recherche nicht beurteilen kann, ob an dieser Stelle ein Freigeben nützt oder schadet. Auch das Demo habe ich entsprechend geändert und neu hochgeladen. Wenn jemand fundierte Informationen dazu hat, würd ich mich freuen, sie zu erfahren. :)Vielleicht kann ja unser GDI-Guru UEZ was dazu sagen? :saint:

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.