Entwickler-Ecke
Windows API - Fenster-Prozedur überschreiben
Unzi - So 29.06.03 20:47
Titel: Fenster-Prozedur überschreiben
Hallo,
ich hab folgendes Problem:
ich möchte gern die Fenster-Prozedur od. die Window-Procedure über schreiben, aber ich weiß nicht, wie. Ich möchte nur eine Sache machen und dann alles seinen Gang gehen lassen. Ich benutze eine normale Form und keine Sonderfälle. Bitte helft und postet am besten die ganze Unit!
Danke im voraus!
Unzi
Delete - Mo 30.06.03 05:18
Titel: Re: Fenster-Prozedur überschreiben
Unzi hat folgendes geschrieben: |
ich möchte gern die Fenster-Prozedur od. die Window-Procedure über schreiben, aber ich weiß nicht, wie. |
In der Hilfe einfach mal unter dem Stichwort
WndProc suchen. Es sind ein paar Beispiele drin.
Zitat: |
Ich möchte nur eine Sache machen und dann alles seinen Gang gehen lassen. |
Die Fensterprozedur wird aber nicht nur einmal aufgerufen. Vielleicht wäre die eine Sache im "OnCreate" der Form besser aufgehoben?
Tweafis hat folgendes geschrieben: |
Unzi hat folgendes geschrieben: | und postet am besten die ganze Unit! | Ich glaube so holst du dir keine Freunde :roll: |
Wer braucht schon Freunde? :wink:
Unzi - Mo 30.06.03 12:24
Also, ich meine das so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type TForm1 = class(TForm) private: function DefWindowProc (...):...;override; end;
function DefWindowProc(...):...; begin inherited; end; |
Vielleicht wisst ihr jetzt ungefähr, was ich machen will, ist leider schwer zu umschreiben. Und ich werde nicht nochmal darum bitten ,die ganze Unit zu posten, war nur, weil ich den Part mit der Deklaration auch noch nicht ganz raus hatte ;) .
Gruß!
Unzi
Delete - Mo 30.06.03 13:25
Titel: Re: Fenster-Prozedur überschreiben
Um die Kenntnis oder Unkenntnis irgendeiner Deklaration geht es doch gar nicht. Viel mehr würde mich das hier interessieren:
Unzi hat folgendes geschrieben: |
Ich möchte nur eine Sache machen und dann alles seinen Gang gehen lassen. |
Was für eine Sache?
Und wer hat dir gesagt, dass du dafür die Fensterprozedur ändern musst?
Unzi - Mo 30.06.03 14:10
Pass auf, ich möchte einen kleinen Mouse-Monitor machen, der immer die aktuellen Mauskoordinaten in Pixeln anzeigt. Dazu brauche ich eine Schleife, die mit GetCursorPos immer wieder prüft, ob sich die Koordinaten geändert haben, im Fall des Falles ausgibt, und die läuft, solange der Benutzer das Fenster nicht geschlossen hat. Da bietet sich für mich doch die Nachrichtenwarteschleife der Form an. Nur, solange ich die Window-Procedure nicht überschreiben kann, kann ich auch nicht auf diese Schleife zugreifen. Das ist mein Problem. Mit OnMouseMove geht es nicht, das reagiert nämlich nur innerhalb der Form, ich hätte aber gern den ganzen Bildschirm. Ich hoffe, du kannst mir jetzt helfen.
Gruß!
Unzi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!