文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于MiniGUI的控件的超类化

关于MiniGUI的控件的超类化

时间:2006-07-31  来源:bradyuan

下面是一个button的超类化程序
[email protected]
2006-07-31

/*Minigui 相关头文件*/
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>

//---- 自定义button ----
#define MY_CTRL_BUTTON "b_button"

/*******************************************
*    函数名:        MyButtonControlProc()
*    输入:       
*    输出:
*    功能描述:    button的消息处理函数
*    作者:       
*    日期:       
********************************************/
static int MyButtonControlProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
    int temp;
   
    temp = (*old_button_proc) (hWnd, message, wParam, lParam);
   
    switch(message){
        case MSG_CREATE:{
            SetWindowBkColor(hWnd, COLOR_darkgray);
        }break;
        case MSG_SETFOCUS:{
            SetWindowBkColor(hWnd, COLOR_darkblue);
        }break;
        case MSG_KILLFOCUS:{
            SetWindowBkColor(hWnd, COLOR_darkgray);
        }break;
    }
    return(temp);
}

/*******************************************
*    函数名:        RegisterMyButtonControl()
*    输入:       
*    输出:
*    功能描述:    向系统注册控件
*    作者:       
*    日期:       
********************************************/
BOOL RegisterMyButtonControl (void)
{
    WNDCLASS MyButtonClass;
   
    MyButtonClass.spClassName = CTRL_BUTTON;
    GetWindowClassInfo(&MyButtonClass);
   
    old_button_proc = MyButtonClass.WinProc;

    MyButtonClass.spClassName = MY_CTRL_BUTTON;
    MyButtonClass.dwStyle     = WS_NONE;
    MyButtonClass.dwExStyle   = WS_EX_NONE;
    MyButtonClass.hCursor     = GetSystemCursor (IDC_ARROW);
    MyButtonClass.iBkColor    = COLOR_lightwhite;
    MyButtonClass.WinProc     = MyButtonControlProc;

    return RegisterWindowClass (&MyButtonClass);
}

/*******************************************
*    函数名:        UnregisterMyButtonControl()
*    输入:       
*    输出:
*    功能描述:    向系统取消注册控件
*    作者:       
*    日期:       
********************************************/
void UnregisterMyButtonControl (void)
{
    UnregisterWindowClass (MY_CTRL_BUTTON);
}

//应用程序调用RegisterMyButtonControl和UnregisterMyButtonControl
相关阅读 更多 +
排行榜 更多 +
世界战争生存射击

世界战争生存射击

飞行射击 下载
真实狩猎

真实狩猎

飞行射击 下载
狙击之荣耀最新版

狙击之荣耀最新版

飞行射击 下载