/*
* DialogView.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL++2000
// 2000.02.18
#pragma once
#include <sol\PopupView.h>
namespace SOL {
class DialogView :public PopupView {
private:
// void changeSystemMenu();
void DialogView::changeSystemMenu()
{
HMENU sysMenu = ::GetSystemMenu(getWindow(), 0);
int count = ::GetMenuItemCount(sysMenu);
TCHAR item1[MAX_PATH];
TCHAR item2[MAX_PATH];
::GetMenuString(sysMenu, SC_MOVE, item1, sizeof(item1), MF_BYCOMMAND);
::GetMenuString(sysMenu, SC_CLOSE, item2, sizeof(item2), MF_BYCOMMAND);
for(int i = 0; i<count; i++) {
::DeleteMenu(sysMenu, 0, MF_BYPOSITION);
}
::AppendMenu(sysMenu, MF_STRING, SC_MOVE, item1);
::AppendMenu(sysMenu, MF_STRING, SC_CLOSE, item2);
}
public:
DialogView():PopupView() { }
public:
DialogView(View* parent, const TCHAR* name, Args& args)
:PopupView(parent, name,
args.set(XmNexStyle, (ulong)WS_EX_DLGMODALFRAME))
{
changeSystemMenu();
}
public:
virtual Boolean create(View* parent, const TCHAR* name, Args& args)
{
Boolean rc = PopupView::create(parent, name,
args.set(XmNexStyle, (ulong)WS_EX_DLGMODALFRAME));
changeSystemMenu();
return rc;
}
};
}
|