Deutsch
Wünsche und Anregungen

subClassProc, tolle Sache

 
subClassProc ist eine feine Sache, eine Kleinigkeit stört mich jedoch:
KompilierenMarkierenSeparieren
Schöner wäre:
KompilierenMarkierenSeparieren
 
23.01.2008  
 



Bei diesem Beispiel verstehe ich nicht weshalb wParam bei mir immer NULL anzeigt.
KompilierenMarkierenSeparieren
KompilierenMarkierenSeparieren
 
24.01.2008  
 




RGH
iF
Bei diesem Beispiel verstehe ich nicht weshalb wParam bei mir immer NULL anzeigt.


Versuche es im &sLParam und &sWParam.

&LParam und &WParam (und all die anderen Systmvariablen, die sich auf Messages beziehen) werden erst in der eigentlichen Fensterprozedur gesetzt.

In der SUBCLASSPROC gelten daher die Systemvariablen &sWnd, %sMessage, &sLParamund &sWParam.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.01.2008  
 



Alles klar!

Ist
KompilierenMarkierenSeparieren
möglich?
 
24.01.2008  
 



iF


Wäre
KompilierenMarkierenSeparieren
nicht vielleicht noch ein Stück durchdachter?
 
24.01.2008  
 




RGH
iF

Wäre
KompilierenMarkierenSeparieren
nicht vielleicht noch ein Stück durchdachter?


Das mit dem Parameters würde nur Zeit kosten: die vier Werte auf den Parameterstack schieben, damit sie von demselben wieder gelesen werden können, anlegen von vier Variablen, ... Und in der SubClassing-Prozedur wollen wir in der Regel besonders fix sein. ;)

Den Rest könntest Du, unter Nutzung der genannten Systemvariablen, ja so schreiben ... nur würde XProfan nicht erkennen, daß Du bereits eine Message bearbeitet hast und die original Fensterprozedur anschließend aufrufen. Das ist ja der tiefere Sinn der Funktion SubClassMessage: Diese setzt beii TRUE ein Flag, daß die augenblickliche Message bereits bearbeitet wurde und ruft dann eben vor Verlassen nicht mehr die original Fensterprozedur auf.
Auf diese Weise kannst Du beides: Dich im Subclassing vor die Original Windowsprozedur klemmen oder Deinen Code anstelle dieser ausführen lassen.
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.01.2008  
 



Das habe ich geahnt und deshalb so vorsichtig gefragt um jetzt mit der Ideenkeule zu kommen. (Das mit den Parametern ist einleuchtend.)

Und zwar:

Mit einer kleinen Änderung könnte das Ganze noch deutlich präziser und verständlicher geschehen - Du bräuchtest dann vlt. auch kein solch Flag mehr setzen: Kümmere Dich nicht darum die alte wProc aufzurufen - sondern belasse die Entscheidung beim Programmierer. Hierbei ergäben sich nämlich viel mehr Möglichkeiten! Erfinde noch ein Schlüsselwort zum Aufruf der vorherigen/alten wProc welches der Programmierer selbst setzen kann.

Somit müsste durch subClassMessage kein Flag gesetzt werden, der Programmierer entscheidet ob er orignalSubClassProc aufruft - oder nicht. Das wiederum (da es ja möglichst fix gehen sollte in der subClassProc) gibt auch die Möglichkeit einer besseren select Struktur, statt eines if-konstruktes.

Übersehe ich dabei etwas?
 
24.01.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.860 Betrachtungen

Unbenanntvor 0 min.
RudiB.14.04.2020
Peter Max Müller28.10.2017
Paul Glatz02.11.2015
Ernst14.03.2015

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (5x)
RGH (2x)


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