Deutsch
Forum

Windows Procedur

 

H.Brill
Hallo,
Weiß jemand, was es mit den Windowsproceduren
auf sich hat, bzw. welche von Set("WinProc", N%)
dann aufgerufen wird ?
Window 600, 400
Print &DlgProc
Print &DlgWProc
Print &WinDProc
Print &WinProc
' welche davon wird mit
' Set("WinProc", N%)
' aufgerufen ?
Waitkey

Wie das Fenster erzeugt wurde (CLS, Window(...), Create() ), scheint
wohl egal zu sein. Alle 4 Systemvariablen zeigen eine (gültige ?)
Procedur - Adresse an.

Vielleicht hat ja schon jemand damit experimentiert bzw. kann mir
mehr Info geben. Besonders interessant wäre, was man damit alles
machen kann (evtl. Umlenken der winproc usw.)
Oder wie geht das mit einer ext. DLL mit Fenstern, auf die XProfan
dann reagieren soll ? Wäre ja auch interessant mit Objekten, die
mit @CONTROL erzeugt wurden.

Irgendwas muß sich Roland ja dabei gedacht haben. Sonst hätte
er sie nicht eingebaut.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
22.04.2021  
 




Michael
W.
Die Antwort ist im Subclassing zu finden.

Innerhalb der SubclassProc ist der einzige Ort wo Set("WinProc",...) Sinn macht.

In der SubClassProc behandelst du ja deine Messages, die du umsteuern möchtest. Wenn du alles erledigt hast, dann wird Windows mit Set("WinProc",0) darauf aufmerksam gemacht, das du schon alles zu dieser Message erledigt hast.

Wenn Du allerdings Set("WinProc",1) aufrufst, dann kümmert sich Windows auch noch einmal um die Message.

Ein Beispiel: Du fängst das Schliessen eines Fensters ab und erledigst noch einige Sachen. Wenn Du dann das Weiterreichen zuläßt, dann wird das Fester anschließend geschlossen, sonst nicht.
(Trotzdem sollte man sich USER-Abfragen, die ja lange dauern können, in einer SubClassProc verkneifen.)
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
29.04.2021  
 




H.Brill
Mit dem SubClassing habe ich auch schon gearbeitet.
Mir ging es eher um die Systemvariablen

Die finden beim Thema SubClassing keine Erwähnung. Da steht
nur für fortgeschrittene Anwender.

Vielleicht kann man da gewisse API-Funktionen, die eine solche
Windowsprozedur-Adresse benötigen, bedienen.
Da wären ein paar Beispiele und Erklärung hilfreich. Welche Prozedur
bei welcher API Verwendung findet.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
29.04.2021  
 




Jens-Arne
Reumschüssel
Guck Dir mal in der XProfan-Hilfe folgendes Beispiel an (zu erreichen über das Stichwort "Callback" in der Hilfe):

Listing: Callback (Textfeldfarbe)

Die darin enthaltene Zeile

OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)

ermittelt da im Prinzip die Adresse von &WinProc. Zum Beispiel das, was in diesem Hilfeabschnitt steht, kann man damit machen. Aber über die Subclassproc geht es meistens einfacher, als darüber, die Window-Prozedur manuell umzuleiten. Selten geht es aber so doch besser, weil das Subclassing von XProfan manche Messages verschluckt.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05.05.2021  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.220 Betrachtungen

Unbenanntvor 0 min.
H.Brill16.06.2024
Member 554186217.05.2022
p.specht27.01.2022
Jens-Arne Reumschüssel22.11.2021
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie