Searching solution for idea !

Goal is to get System message, dispatch/route to method !
If method implemented only !

I dream on in future write clean code of a derived widgets like this :

    class Base
    {
       // dispatch
       void On( message ... )
       {
           // call On<message>()
// example: call OnKeyUp() - if method OnKeyUp() is exists only
       }
    }

    class Derived : Base
    {
       // method implementation
       void OnKeyUp( ... )
       {
           //
       }
    }



I tryed code like this:

    import core.sys.windows.windows;
    import std.stdio;


    class Base
    {
       LRESULT On( UINT message, WPARAM wParam, LPARAM lParam )
       {
                switch ( message )
                {
                        case WM_KEYDOWN:
OnWM_KEYDOWN( wParam, lParam ); // <-- but it required declared OnWM_KEYDOWN(...) in base class Base. How will be without declaring in Base ?
                                break;

                        default:                                
                }
       }
    }


    class Button : Base
    {
        LRESULT OnWM_KEYDOWN( WPARAM wParam, LPARAM lParam )
        {
            writeln( "WM_KEYDOWN" );
        }
    }


May be other than derived ? May be templating ?
How to implement ?

Reply via email to