SOL9 2.0 Class: DialogView

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

Source code

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

};

}


Last modified: 1 Feb 2012

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