AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Postmessage(Handle,WM_RBUTTONDOWN,0,0) an falscher position
Thema durchsuchen
Ansicht
Themen-Optionen

Postmessage(Handle,WM_RBUTTONDOWN,0,0) an falscher position

Ein Thema von SimStar001 · begonnen am 8. Okt 2008 · letzter Beitrag vom 8. Okt 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Postmessage(Handle,WM_RBUTTONDOWN,0,0) an falscher posit

  Alt 8. Okt 2008, 18:39
Zitat von Dust Signs:
Trotzdem muss das erste Word geshiftet werden, also:

Result := (w1 shl 16) or w2; Dann wäre die Funktion wahrscheinlich ident zu MakeLparam und würde ebenfalls funktionieren.
Hast du es schonmal ausprobiert? Entweder muss man das 2. Word shiften oder die Y-Koordinate zuerst angeben, ich war auch etwas verwirrt..


Zitat von SimStar001:
Ja bitte erklär mir den Code mal, denn ich bekomm es einfach nciht in den kopf wieso man nicht einfach die x,y koordinate angeben kann!
Alsoo..
Die beiden Koordinaten müssen in EINEN Parameter, wozu der andere gebraucht wird, weiß ich nicht. der Parameter ist vom Typ Integer, hat also 32 Bit. Dann nimmt man also 2 Words (16 Bit), einen für jede Koordinate, z.B.:
Code:
X: 0001100100111001
Y: 0011011000011100
Wenn man diese jetzt zusammenaddieren würde, wüsste man nachher nichtmehr, welche Koordinaten welchen Wert hatte. Aber der Integer hat ja 32 Bits, jedes Word 16, also bekommt einfach jede Koordinate die Hälfte des Integers. Dazu fügt man in den Integer mit 32 Bits erstmal eine Koordinate ein:
Code:
Integer: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X rein: XXXXXXXXXXXXXXXX0001100100111001
Mittels shl 16 werden dann alle Bits um 16 nach links verschoben, dannach wird die 2. Koordinate eingefügt:
Code:
nach shl 16: 0001100100111001XXXXXXXXXXXXXXXX
Y rein:     00011001001110010011011000011100
So hat man nun ZWEI Werte in EINER Variablen, indem jeder Wert die Hälfte der Bits bekommt, und man kann die Werte nachher wieder unterscheiden.

Ich hoffe, dir ist das nun etwas verständlich geworden
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 22:44 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