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

📄 scrollview.c

📁 MINIGUI例子代码
💻 C
字号:
/*** $Id: scrollview.c,v 1.20 2007-09-04 06:06:56 xwyan Exp $**** scrollview.c: Sample program for MiniGUI Programming Guide**      Usage of SCROLLVIEW control.**** Copyright (C) 2004 ~ 2007 Feynman Software.**** License: GPL*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#define IDC_SCROLLVIEW    100#define IDC_BT          200#define IDC_BT2         300#define IDC_BT3         400#define IDC_BT4         500static HWND hScrollView;static const char *people[] ={    "Peter Wang",    "Michael Li",    "Eric Liang",    "Hellen Liu",    "Tomas Zhao",    "William Sun",    "Alex Zhang"};static void myDrawItem (HWND hWnd, HSVITEM hsvi, HDC hdc, RECT *rcDraw){    const char *name = (const char*)scrollview_get_item_adddata (hsvi);    SetBkMode (hdc, BM_TRANSPARENT);    SetTextColor (hdc, PIXEL_black);    if (scrollview_is_item_hilight(hWnd, hsvi)) {        SetBrushColor (hdc, PIXEL_blue);        FillBox (hdc, rcDraw->left+1, rcDraw->top+1, RECTWP(rcDraw)-2, RECTHP(rcDraw)-1);        SetBkColor (hdc, PIXEL_blue);        SetTextColor (hdc, PIXEL_lightwhite);    }    Rectangle (hdc, rcDraw->left, rcDraw->top, rcDraw->right - 1, rcDraw->bottom);    TextOut (hdc, rcDraw->left + 3, rcDraw->top + 2, name);}static int myCmpItem (HSVITEM hsvi1, HSVITEM hsvi2){    const char *name1 = (const char*)scrollview_get_item_adddata (hsvi1);    const char *name2 = (const char*)scrollview_get_item_adddata (hsvi2);    return strcmp (name1, name2);}static intBookProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam){    switch (message)    {    case MSG_INITDIALOG:    {        SVITEMINFO svii;        static int i = 0;        hScrollView = GetDlgItem (hDlg, IDC_SCROLLVIEW);        SetWindowBkColor (hScrollView, PIXEL_lightwhite);        SendMessage (hScrollView, SVM_SETITEMCMP, 0, (LPARAM)myCmpItem);        SendMessage (hScrollView, SVM_SETITEMDRAW, 0, (LPARAM)myDrawItem);        for (i = 0; i < TABLESIZE(people); i++) {            svii.nItemHeight = 32;            svii.addData = (DWORD)people[i];            svii.nItem = i;            SendMessage (hScrollView, SVM_ADDITEM, 0, (LPARAM)&svii);            SendMessage (hScrollView, SVM_SETITEMADDDATA, i, (DWORD)people[i]);        }        break;    }    case MSG_COMMAND:    {        int id = LOWORD (wParam);        int code = HIWORD (wParam);        switch (id) {        case IDC_SCROLLVIEW:            if (code == SVN_CLICKED) {                int sel;                const char *info;                sel = SendMessage (hScrollView, SVM_GETCURSEL, 0, 0);                info = (const char *)SendMessage (hScrollView, SVM_GETITEMADDDATA, sel, 0);            }            break;        }        break;    }    case MSG_KEYDOWN:        if (wParam == SCANCODE_REMOVE) {            int idx = SendMessage (hScrollView, SVM_GETCURSEL, 0, 0);            SendMessage (hScrollView, SVM_DELITEM, idx, 0);            SendMessage (hScrollView, SVM_SETCURSEL, idx, 0);            return 0;        }        break;    case MSG_CLOSE:    {        EndDialog (hDlg, 0);        return 0;    }    }    return DefaultDialogProc (hDlg, message, wParam, lParam);}static CTRLDATA CtrlBook[] ={    {        "scrollview",        WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL |                SVS_AUTOSORT,         10, 10, 320, 150,        IDC_SCROLLVIEW,        "",        0    },};static DLGTEMPLATE DlgBook ={    WS_BORDER | WS_CAPTION,    WS_EX_NONE,    0, 0, 350, 200,    "My Friends",    0, 0,    TABLESIZE(CtrlBook), NULL,    0};int MiniGUIMain (int argc, const char* argv[]){#ifdef _MGRM_PROCESSES    JoinLayer(NAME_DEF_LAYER , "scrollview" , 0 , 0);#endif        DlgBook.controls = CtrlBook;        DialogBoxIndirectParam (&DlgBook, HWND_DESKTOP, BookProc, 0L);    return 0;}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif

⌨️ 快捷键说明

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