SOL9 2.0 Class: MdiClient

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * MdiClient.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
// 2000.02.18
#pragma once

#include <sol\Primitive.h>


namespace SOL {

class MdiClient :public Primitive {
public:
    MdiClient(): Primitive() { }

    MdiClient(View* parent, const TCHAR* name, Args& args)
        :Primitive(parent, name,
            args.set(XmNstyle, (ulong)(WS_VISIBLE|WS_CLIPCHILDREN))
                .set(XmNpredefined, TRUE)
                .set(XmNclassName, _T("MDIClient")))
    { 
        setValues(args);
    }

public:
    Boolean create(View* parent, const TCHAR* name, Args& args)
    {
        Boolean rc = Primitive::create(parent, name,
            args.set(XmNstyle, (ulong)(WS_VISIBLE|WS_CLIPCHILDREN))
                .set(XmNpredefined, TRUE)
                .set(XmNclassName, _T("MDIClient")));

        setValues(args);

        return rc;
    }


    void    activate(View* mdiChild) {
            send(WM_MDIACTIVATE, (WPARAM)mdiChild->getWindow(), 0L);
    }
    void    cascade() {
            send(WM_MDICASCADE, 0, 0L);
    }
    void    iconArrange() {
            send(WM_MDIICONARRANGE, 0, 0L);
    }
    HWND    getActiveWindow() {
            return (HWND)send(WM_MDIGETACTIVE, 0, 0L);
    }
    void    setMenu(HMENU hmenu, HMENU hsubmenu) {
            send(WM_MDISETMENU, (WPARAM)hmenu, (LPARAM)hsubmenu);
    }
    void    tile() {
            send(WM_MDITILE, 0, 0L);
    }
    long    destroy(Event& event) {
        return send(WM_MDIDESTROY, event.getWParam(),
                    event.getLParam());
    }
};

}


Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.