Italia
Foro

Windows Procedur

 

H.Brill
Ciao,
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 per 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-Aiuto folgendes Beispiel an (zu erreichen circa das Stichwort "Callback" in der Aiuto):

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 circa 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  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.205 Views

Untitledvor 0 min.
H.Brill16.06.2024
Member 554186217.05.2022
p.specht27.01.2022
Jens-Arne Reumschüssel22.11.2021
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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