/*
* 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());
}
};
}
|