AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Mehrdimensionales Array MagSetWindowTransform
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrdimensionales Array MagSetWindowTransform

Ein Thema von EWeiss · begonnen am 29. Jan 2018 · letzter Beitrag vom 30. Jan 2018
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 08:29
Titel passt halt nicht zum Fehler. Deine Änderungen habe ich nicht gemeldet bekommen beim Abschicken. Aber egal.

Die Magnification API ist nur für 32Bit. Unter 64Bit wirst du Probleme bekommen. Könnte es daran liegen?
Es ging mir in erster Linie erst mal um die Schreibweise.
Von daher passt der Titel schon.

Eigentlich nicht.
Die Anwendung ist 32Bit.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.371 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 08:37
Deine Verlinkung besagt nur, dass es ein 3x3 Array ist. Dennoch sollte der Zähler null-basiert sein.
Hier ein C++-Beispiel Quelle :
Code:

// Description:
//   Sets the magnification factor for a magnifier control.
// Parameters:
//   hwndMag - Handle of the magnifier control.
//   magFactor - New magnification factor.
//
BOOL SetMagnificationFactor(HWND hwndMag, float magFactor)
{
    MAGTRANSFORM matrix;
    memset(&matrix, 0, sizeof(matrix));
    matrix.v[0][0] = magFactor;
    matrix.v[1][1] = magFactor;
    matrix.v[2][2] = 1.0f;

    return MagSetWindowTransform(hwndMag, &matrix);
}
Außerdem macht Delphi aus einem Record üblicherweise ein packed Record, wenn ich mich richtig erinnere. Evtl. musst du das über den entsprechenden Compiler-Schalter deaktivieren.
Peter
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 08:57
OK habe das auf 0 hin geändert.
Das Problem lag wohl eher da dran das ich das Array vorher nicht genullt (FillChar) habe.

Es geht um das Projekt (Thema).
Habe den Kram jetzt komplett neu geschrieben.

Es funktioniert 100% mit ausgeschalteter DesktopTheme nach dem ich die Matrix jetzt korrigiert habe.
Mit eingeschalteter geht es nur wenn man das Fenster in der Größe verändert bis das Bitmap angezeigt wird.
Es scheint das es hier Probleme mit DWM gibt.

Hab das Projekt mal angehängt.
Wer es testen möchte. Bitte schön. (D2010)

gruss

Geändert von EWeiss (11. Jul 2019 um 15:49 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 08:59
Zitat:
Übrigens hat die Matrix 0 bis 2 in beiden Dimensionen und nicht 1 bis 3.
Sieht man in der Doku zu MagSetWindowTransform.
Ja entschuldige bitte mal die API bzw. die Unit war nicht von mir.
Dort war es nun mal so definiert.
Diese kommt von hier.

Habe es lediglich neu geschrieben.
Und sie arbeitet gut mit 64Bit nur nicht in Verbindung mit DWM.

gruss

Geändert von EWeiss (29. Jan 2018 um 09:10 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 09:22
Zitat:
Übrigens hat die Matrix 0 bis 2 in beiden Dimensionen und nicht 1 bis 3.
Sieht man in der Doku zu MagSetWindowTransform.
Ja entschuldige bitte mal die API bzw. die Unit war nicht von mir.
Dort war es nun mal so definiert.
Diese kommt von hier.
Witzig wie du immer gleich ganz entrüstet und schwer betroffen bist, nur weil man dich auf solche Kleinigkeiten hinweist, um dir zu HELFEN.

Nur weil irgendwer irgendwann irgendwas als Delphi-Übersetzung gepostet hat, entbindet dich doch nicht von "Pflicht" trotzdem in der MSDN nachzuschauen, was die einzelnen Sachen bedeuten und wie man sie anwendet.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Mehrdimensionales Array MagSetWindowTransform

  Alt 29. Jan 2018, 09:27

Wir lieben uns nicht.
Und ja weil genau das 2 Beiträge vorher schon gepostet wurde.
Zitat:
nur weil man dich auf solche Kleinigkeiten hinweist
Ich wurde schon darauf hingewiesen.

greets

Geändert von EWeiss (29. Jan 2018 um 09:32 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Mehrdimensionales Array MagSetWindowTransform

  Alt 29. Jan 2018, 10:03

Wir lieben uns nicht.
Und ja weil genau das 2 Beiträge vorher schon gepostet wurde.
Zitat:
nur weil man dich auf solche Kleinigkeiten hinweist
Ich wurde schon darauf hingewiesen.
Ich kann ja meinen Beitrag nachträglich editieren, so dass der Sinnzusammenhang des Threads ganz entstellt wird.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Mehrdimensionales Array die Hunderste

  Alt 29. Jan 2018, 08:55
Titel passt halt nicht zum Fehler. Deine Änderungen habe ich nicht gemeldet bekommen beim Abschicken. Aber egal.

Die Magnification API ist nur für 32Bit. Unter 64Bit wirst du Probleme bekommen. Könnte es daran liegen?
Eigentlich nicht.
Die Anwendung ist 32Bit.
Seine Anmerkung zielte eher darauf ab, dass ein 32-Bit Programm, welches die Magnification API benutzt, nicht korrekt unter 64-Bit funktioniert.
Zitat:
Note The Magnification API is not supported under WOW64; that is, a 32-bit magnifier application will not run correctly on 64-bit Windows.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Übrigens hat die Matrix 0 bis 2 in beiden Dimensionen und nicht 1 bis 3.
Sieht man in der Doku zu MagSetWindowTransform.
  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:14 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