⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_setting_sound.c

📁 飞漫公司的minigui的1.6.8收费增值版本的demon等示例程序
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#include <minigui/mywindows.h>#include <minigui/mgext.h>#include <minigui/skin.h>#include "../global.h"
#include "english_config.h"#define SIID_SOUND_VOLUME       1#define SIID_SOUND_BASS         2#define SIID_SOUND_TREBLE       3#define SIID_SOUND_BALANCE      4#define SIID_SOUND_BOOST        5#define SIID_SOUND_SETUP        6#define SIID_SOUND_OPTION       7#define SIID_SOUND_BROWSER      8#define IDC_SOUND_SET             100#define IDC_SOUND_CONTROLBAR      101#define IDC_SOUND_ON              2000#define IDC_SOUND_OFF             2001#define IDC_STATIC_RANGE          105int sound_win_created = 0;static HWND hSoundSet=HWND_INVALID;static HWND hSkin;static int nCurIndex = -1;static int nOldIndex = -1;static BITMAP sound_bmp [3];static BITMAP controlbar_bmp [2];static int sound_controlbar_event_cb (HWND hWnd, skin_item_t *item, int event, void *data);static int sound_controlbar_msg_cb (HWND hWnd, int message, WPARAM wParam, LPARAM lParam, int *result);extern void draw_caption_bar(HDC, HWND);volatile static skin_item_t sound_controlbar_items [] ={    {SIID_SOUND_SETUP, SI_TYPE_CMDBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE,    13, 2, {0}, 1, "setup"},    {SIID_SOUND_OPTION, SI_TYPE_CMDBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE,    116, 2, {0}, 1, "options"},    {SIID_SOUND_BROWSER, SI_TYPE_CMDBUTTON | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE,    219, 2, {0}, 1, "browser"}};static skin_head_t _sound_controlbar_skin;static skin_item_t _sound_controlbar_items[TABLESIZE(sound_controlbar_items)];volatile static skin_head_t sound_controlbar_skin ={    "",    SKIN_STYLE_NONE, &controlbar_bmp[0], NULL,    0, 3, _sound_controlbar_items, FALSE};static const char *controlbar_res[] ={    "playbar_bg.bmp", "button_other.bmp"};#define CONTROLBAR_RES_NUM sizeof (controlbar_res) /sizeof (char *)/////////////////////////static si_nrmslider_t sound_volume =  {{0, 31, 16}, 2};static si_nrmslider_t sound_bass = {{0, 9, 4}, 2};static si_nrmslider_t sound_treble = {{0, 9, 4}, 2};static si_nrmslider_t sound_balance = {{0, 99, 49}, 2};static si_nrmslider_t sound_boost = {{0, 9, 4}, 2};//////////////////////////static int sound_setting_main_event_cb (HWND hwnd, skin_item_t *item, int event, void *data);static int sound_setting_msg_cb (HWND hWnd, int message, WPARAM wParam, LPARAM lParam, int *result);volatile static skin_item_t sound_setting_items [] ={   {SIID_SOUND_VOLUME, SI_TYPE_NRMSLIDER | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE |        SI_NRMSLIDER_HORZ, 80, 33, {0}, 1, "", 0, &sound_volume},   {SIID_SOUND_BASS, SI_TYPE_NRMSLIDER | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE |        SI_NRMSLIDER_HORZ, 80, 63, {0}, 1, "", 0, &sound_bass},   {SIID_SOUND_TREBLE, SI_TYPE_NRMSLIDER | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE |        SI_NRMSLIDER_HORZ, 80, 93, {0}, 1, "", 0, &sound_treble},   {SIID_SOUND_BALANCE, SI_TYPE_NRMSLIDER | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE |        SI_NRMSLIDER_HORZ, 80, 123, {0}, 1, "", 0, &sound_balance},   {SIID_SOUND_BOOST, SI_TYPE_NRMSLIDER | SI_TEST_SHAPE_RECT | SI_STATUS_VISIBLE |        SI_NRMSLIDER_HORZ, 80, 153, {0}, 1, "", 0, &sound_boost}};skin_head_t sound_setting_skin_temp;skin_item_t sound_setting_items_temp[TABLESIZE(sound_setting_items)]; volatile static skin_head_t sound_setting_skin ={    "",    SKIN_STYLE_NONE, &(sound_bmp[0]), NULL,    0, 5, sound_setting_items_temp, FALSE};const char *sound_bmp_name[] ={    "setting_subwin_bg1.bmp", "setting_slider_volume.bmp","setting_slider_button.bmp"};#define SOUND_BMP_NR sizeof (sound_bmp_name) / sizeof (char *)static void SetCurSelect (HWND hParent, int updownflag, int *index);static void init_bitmap_array (void){    sound_bmp [0] = *(bmp_setting_subwin_bg1);    sound_bmp [1] = *(bmp_setting_slider_volume);    sound_bmp [2] = *(bmp_setting_slider_button);    controlbar_bmp [0] = *(bmp_playbar_bg);    controlbar_bmp [1] = *(bmp_button_other);}static int  load_skin_bmps(skin_head_t *skin, BOOL load, const char *bmpname[], int nCount){    return 0;}//////////////////////////////////////////////static int init_sound_controlbar (void){    memcpy (&_sound_controlbar_skin, (const void *)(&sound_controlbar_skin), sizeof (sound_controlbar_skin));    memcpy (&_sound_controlbar_items, &sound_controlbar_items, sizeof (sound_controlbar_items));    load_skin_bmps (&_sound_controlbar_skin, TRUE, controlbar_res , CONTROLBAR_RES_NUM);    if (!skin_init (&_sound_controlbar_skin, sound_controlbar_event_cb, sound_controlbar_msg_cb)){        printf("controlbar skin init fail !\n");    }    return 0;}static void create_sound_controlbar (HWND hWnd){    skin_head_t *pskin;    HWND hControlBar;    hControlBar = create_skin_control (&_sound_controlbar_skin,                        hWnd, IDC_SOUND_CONTROLBAR, 0, 216,                         320, 24                   );   printf ("------------hControlBar: %x\n", hControlBar);   pskin = get_window_skin (hControlBar);   skin_enable_item (pskin, SIID_SOUND_SETUP, FALSE);   skin_enable_item (pskin, SIID_SOUND_OPTION, FALSE);   skin_enable_item (pskin, SIID_SOUND_BROWSER, FALSE);}static void destroy_sound_controlbar (void){    skin_deinit (&_sound_controlbar_skin);    load_skin_bmps (&_sound_controlbar_skin, FALSE, controlbar_res, CONTROLBAR_RES_NUM);}static int sound_controlbar_event_cb (HWND hwnd, skin_item_t *item, int event, void *data){    if (event == SIE_BUTTON_CLICKED){        switch (item->id){        case SIID_SOUND_SETUP:            fprintf (stderr, "----------setup clicked\n");            break;        case SIID_SOUND_OPTION:            fprintf (stderr, "----------options button clicked\n");            break;        case SIID_SOUND_BROWSER:            fprintf (stderr, "----------browser button clicked\n");            break;       }    }    return 1;}static int sound_controlbar_msg_cb (HWND hWnd, int message, WPARAM wParam, LPARAM lParam, int *result){    *result = MSG_CB_GOON;    return 0;}/************************* skin setting function ******************/static int init_sound_setting (void){    memcpy (&sound_setting_skin_temp, (const void *)(&sound_setting_skin), sizeof (sound_setting_skin));    memcpy (&sound_setting_items_temp, &sound_setting_items, sizeof (sound_setting_items));            load_skin_bmps (&sound_setting_skin_temp, TRUE, sound_bmp_name, SOUND_BMP_NR);        if (!skin_init (&sound_setting_skin_temp, sound_setting_main_event_cb, sound_setting_msg_cb)){        printf("skin init fail !\n");    }    return 0;}static void destroy_sound_setting (void){    sound_win_created = 0;    skin_deinit (&sound_setting_skin_temp);    load_skin_bmps (&sound_setting_skin_temp, FALSE, sound_bmp_name, SOUND_BMP_NR);}static int sound_setting_main_event_cb (HWND hwnd, skin_item_t *item, int event, void *data){    int nTemp;    if (event == SIE_SLIDER_CHANGED || event == SIE_BUTTON_CLICKED){        switch (item->id){        case SIID_SOUND_VOLUME:            nTemp = skin_get_thumb_pos(item->hostskin, item->id);            nOldIndex = nCurIndex;            nCurIndex = 1;            SetCurSelect (hSkin, 2, &nCurIndex);            printf("volume_value = %i\n", nTemp);            break;        case SIID_SOUND_BASS:            nTemp = skin_get_thumb_pos(item->hostskin, item->id);            nOldIndex = nCurIndex;            nCurIndex = 2;            SetCurSelect (hSkin, 2, &nCurIndex);            printf("bass_value = %i\n", nTemp);            break;        case SIID_SOUND_TREBLE:            nTemp = skin_get_thumb_pos(item->hostskin, item->id);            nOldIndex = nCurIndex;            nCurIndex = 3;            SetCurSelect (hSkin, 2, &nCurIndex);            printf("volume_value = %i\n", nTemp);            break;        case SIID_SOUND_BALANCE:            nTemp = skin_get_thumb_pos(item->hostskin, item->id);            nOldIndex = nCurIndex;            nCurIndex = 4;            SetCurSelect (hSkin, 2, &nCurIndex);            printf("bass_value = %i\n", nTemp);            break;        case SIID_SOUND_BOOST:            nTemp = skin_get_thumb_pos(item->hostskin, item->id);            nOldIndex = nCurIndex;            nCurIndex = 5;            SetCurSelect (hSkin, 2, &nCurIndex);            printf("boost_value = %i\n", nTemp);            break;       }           }    return 1;}static int sound_setting_msg_cb (HWND hWnd, int message, WPARAM wParam, LPARAM lParam, int *result){    switch (message) {    case MSG_COMMAND:    {       int nId = LOWORD(wParam);       if (nId == IDC_SOUND_ON || nId == IDC_SOUND_OFF) {           nOldIndex = nCurIndex;           nCurIndex = 0;           SetCurSelect (hSkin, 2, &nCurIndex);       }        break;    }    }    *result = MSG_CB_GOON;    return 0;}/*******************************  control function *******************************/static void sound_create_control (HWND hParent){   HWND hCtrlWnd, hTemp;   hTemp = create_skin_control (&sound_setting_skin_temp,                                hParent, IDC_SOUND_SET,                                 0, 24, 320, 192);   hSkin = hTemp;
//#ifdef MGDEMO_ENGLISH
//			CreateWindowEx (CTRL_STATIC, "Sound:", WS_CHILD | WS_VISIBLE | SS_NOTIFY ,
//				WS_EX_TRANSPARENT,
//				IDC_STATIC, 20, 8, 80, 16, hTemp, 0);
//			
//			hCtrlWnd = CreateWindowEx (CTRL_BUTTON, "Open", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON | WS_GROUP,
//                WS_EX_TRANSPARENT,
//                IDC_SOUND_ON, 80, 6, 60, 70, hTemp, 0);
//			
//			hCtrlWnd = CreateWindowEx (CTRL_BUTTON, "Close", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
//                WS_EX_TRANSPARENT,
//                IDC_SOUND_OFF, 170, 6, 60, 70, hTemp, 0);
//			
//			
//			CreateWindowEx (CTRL_STATIC, "Volume:", WS_CHILD | WS_VISIBLE | SS_NOTIFY ,
//                WS_EX_TRANSPARENT,
//                IDC_STATIC + 1, 20, 33, 60, 16,  hTemp, 0);
//			CreateWindowEx (CTRL_STATIC, "0", WS_CHILD | WS_VISIBLE | SS_NOTIFY ,
//                WS_EX_TRANSPARENT,
//                IDC_STATIC_RANGE, 80, 41, 30, 13,  hTemp, 0);
//			CreateWindowEx (CTRL_STATIC, "31", WS_CHILD | WS_VISIBLE | SS_NOTIFY ,
//                WS_EX_TRANSPARENT,
//                IDC_STATIC_RANGE, 290, 41, 30, 13,  hTemp, 0);
//			CreateWindowEx (CTRL_STATIC, "Bourdon:", WS_CHILD | WS_VISIBLE | SS_NOTIFY ,
//                WS_EX_TRANSPARENT,
//                IDC_STATIC + 2, 20, 63, 60, 16,  hTemp, 0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -