button

/*
** $Id: button.c,v 1.16 2007-10-25 08:25:16 weiym Exp $
**
** Listing 20.1
**
** button.c: Sample program for MiniGUI Programming Guide
**     Usage of BUTTON control.
**
** Copyright (C) 2004 ~ 2007 Feynman Software.
**
** License: GPL
*/

#include <stdio.h>
#include <stdlib.h>

#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>



#define IDC_STATIC_BIPS                  120        //波特率文本ID
#define IDC_STATIC_COM                 121       //串口文本ID
#define IDC_STATIC_DATADISPLAY    122       // 数据显示文本ID

#define IDC_CTRLBUTTON_115200    123        //复选框波特率115200
#define IDC_CTRLBUTTON_19200      124        //复选框波特率19200
#define IDC_CTRLBUTTON_9600        125        //复选框波特率9600
#define IDC_CTRLBUTTON_COM0     126        //复选框COM0
#define IDC_CTRLBUTTON_COM1     127        //复选框COM1

#define IDC_BUTTON_SEND              128        //接键发送
#define IDC_BUTTON_RECEIVE          129        //按键接收

#define IDC_TEXT_DATADISPLAY        130        //文本框数据显示



#define IDC_LAMIAN              101
#define IDC_CHOUDOUFU           102
#define IDC_JIANBING            103
#define IDC_MAHUA               104
#define IDC_SHUIJIAO            105

#define IDC_XIAN                110
#define IDC_LA                  111

#define IDC_PROMPT              200

static DLGTEMPLATE DlgYourTaste =
{
    WS_BORDER | WS_CAPTION,
    WS_EX_NONE,
    0, 0, 370, 280,
#ifdef _LANG_ZHCN
    "您喜欢吃哪种风味的小吃",
#else
    "What flavor snack do you like?",
#endif
    0, 0,
    12, NULL,
    0
};

static CTRLDATA MyContols[] =
{
    {
        "static",
        WS_VISIBLE,
        16, 10, 230, 160,
        IDC_STATIC_BIPS,
        "波特率选择",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTORADIOBUTTON | BS_CHECKED | WS_TABSTOP | WS_GROUP,
        36, 38, 200, 20,
        IDC_CTRLBUTTON_115200,
        "115200",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTORADIOBUTTON,
        36, 64, 200, 20,
        IDC_CTRLBUTTON_19200,
        "19200",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTORADIOBUTTON,
        36, 90, 200, 20,
        IDC_CTRLBUTTON_9600,
        "9600",
        0
    },
    {
        "static",
        WS_VISIBLE,
        16, 116, 200, 20,
        IDC_STATIC_COM,
        "端口选择:",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTORADIOBUTTON | BS_CHECKED | WS_TABSTOP | WS_GROUP,
        36, 140, 200, 20,
        IDC_CTRLBUTTON_COM0,
        "COM0",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTORADIOBUTTON,
        36, 166, 200, 20,
        IDC_CTRLBUTTON_COM1,
        "COM1",
        0
    },
    {
        "static",
        WS_VISIBLE ,
        180, 10, 100, 160,
        IDC_STATIC_DATADISPLAY,
        "数据显示:",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_AUTOCHECKBOX | BS_CHECKED,
        260, 64, 80, 20,
        IDC_LA,
#ifdef _LANG_ZHCN
        "偏辣",
#else
        "Partial spicy",
#endif
        0
    },
    {
        "static",
        WS_VISIBLE | SS_LEFT | WS_GROUP,
        16, 180, 360, 20,
        IDC_PROMPT,
#ifdef _LANG_ZHCN
        "西北拉面是面食中的精品,但街上的兰州拉面除外!",
#else
        "Northwest pulled noodle is competitive product in the wheaten food",
#endif
        0
    },
    {
        "button",
        WS_VISIBLE | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP,
        16, 200, 70, 28,
         IDC_BUTTON_SEND,
        "发送",
        0
    },
    {
        "button",
        WS_VISIBLE | BS_DEFPUSHBUTTON,
        100, 200, 70, 28,
         IDC_BUTTON_RECEIVE,
        "接收",
        0
    },
};

#ifdef _LANG_ZHCN
static char* prompts [] = {
    "西北拉面是面食中的精品,但街上的兰州拉面除外!",
    "长沙臭豆腐口味很独特,一般人适应不了。",
    "山东煎饼很难嚼 :(",
    "天津麻花很脆,很香!",
    "成都的红油水饺可真好吃啊!想起来就流口水。",
};
#else
static char* prompts [] = {
    "Northwest pulled noodle is competitive product in the wheaten food",
    "Changsha bad-smelling bean curd is very unique",
    "Shandong thin pancake is difficult to chew",
    "Tianjin fired dough twist is very fragile",
    "Chengdu red oil boiled dumpling is captivating",
};
#endif


static void my_notif_proc (HWND hwnd, int id, int nc, DWORD add_data)
{
    if (nc == BN_CLICKED) {
        SetWindowText (GetDlgItem (GetParent (hwnd), IDC_PROMPT), prompts [id - IDC_LAMIAN]);
    }
}

static int DialogBoxProc2 (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
    switch (message) {
    case MSG_INITDIALOG:
        {
            int i;
            for (i = IDC_STATIC_BIPS; i <= IDC_TEXT_DATADISPLAY; i++)
                SetNotificationCallback (GetDlgItem (hDlg, i), my_notif_proc);
        }
        return 1;
       
    case MSG_COMMAND:
        switch (wParam) {
        case IDOK:
        case IDCANCEL:
            EndDialog (hDlg, wParam);
            break;
        }
        break;
       
    }
   
    return DefaultDialogProc (hDlg, message, wParam, lParam);
}

int MiniGUIMain (int argc, const char* argv[])
{
#ifdef _MGRM_PROCESSES
    JoinLayer(NAME_DEF_LAYER , "button" , 0 , 0);
#endif
   
    DlgYourTaste.controls = MyContols;
   
    DialogBoxIndirectParam (&DlgYourTaste, HWND_DESKTOP, DialogBoxProc2, 0L);

    return 0;
}

#ifndef _LITE_VERSION
#include <minigui/dti.c>
#endif

你可能感兴趣的:(bean,command,null,button,border,layer)