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

📄 edit.c

📁 这是一个MINITGUI2。0的应用程序
💻 C
字号:
/* ** $Id: edit.c,v 1.23 2006/05/26 01:41:35 sunlei Exp $**** Listing 22.1**** edit.c: Sample program for MiniGUI Programming Guide**             Usage of EDIT control.**** Copyright (C) 2004 ~ 2006 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>static DLGTEMPLATE DlgBoxInputChar ={    WS_BORDER | WS_CAPTION,     WS_EX_NONE,    0, 0, 400, 220, #ifdef _LANG_ZHCN    "请键入字母",#else    "Please input letters",#endif    0, 0,    4, NULL,    0};#define IDC_CHAR        100#define IDC_CHARS       110static CTRLDATA CtrlInputChar [] ={     {        CTRL_STATIC,        WS_VISIBLE ,        10, 10, 380, 18,         IDC_STATIC, #ifdef _LANG_ZHCN        "请输入一个字母:",#else        "Please input a letter:",#endif        0    },    {        CTRL_SLEDIT,        WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_CENTER,        10, 40, 80, 25,        IDC_CHAR,        NULL,        0    },    {        CTRL_MLEDIT,        WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_BASELINE | ES_AUTOWRAP,        10, 80, 380, 70,         IDC_CHARS,         NULL,        0    },    {        CTRL_BUTTON,        WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,         170, 160, 60, 25,        IDOK,         "OK",        0    }};char message_zh[] = "M\00\00\00i\00\00\00n\00\00\00i\00\00\00G\00\00\00U\00\00\00I\00\00\00\"k\00\00\xCE\x8F\00\00\x7F" "O\00\00(u\00\00 \00\00\00";#ifdef _UNICODE_SUPPORTstatic void test_utf8 (HWND hwnd, LOGFONT* utf8_font){    char utf8_msg [100] = {0};    int len = WCS2MBS (utf8_font, utf8_msg, (wchar_t*)message_zh, 12, 100);    utf8_msg [len] = '\0';    SetWindowText (hwnd, utf8_msg);}#endifstatic void my_notif_proc (HWND hwnd, int id, int nc, DWORD add_data){    unsigned char buff [256] = {0};    if (id == IDC_CHAR && nc == EN_CHANGE) {        GetWindowText (hwnd, buff, 4);        SendMessage (hwnd, EM_SETCARETPOS, 0, 0);        SendMessage (GetDlgItem (GetParent (hwnd), IDC_CHARS), MSG_CHAR, buff[0], 0L);    }    else if (id == IDC_CHARS && nc == EN_CHANGE) {        GetWindowText (hwnd, buff, 255);        printf ("String: %s\n", buff);    }}       static int InputCharDialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam){    static PLOGFONT my_font;    HWND hwnd;    switch (message) {    case MSG_INITDIALOG:        my_font = CreateLogFont (NULL, "fmhei", "utf-8",                         FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,                        FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,                         20, 0);        hwnd = GetDlgItem (hDlg, IDC_CHAR);        SetNotificationCallback (hwnd, my_notif_proc);        //SetWindowFont (hwnd, my_font);#ifdef _UNICODE_SUPPORT        test_utf8 (hwnd, my_font);#endif        SendMessage (hwnd, MSG_KEYDOWN, SCANCODE_INSERT, 0L);        return 1;            case MSG_CLOSE:        EndDialog (hDlg, IDCANCEL);        break;            case MSG_COMMAND:        switch (wParam) {        case IDOK:        case IDCANCEL:            DestroyLogFont (my_font);            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 , "edit" , 0 , 0);#endif#ifdef _LITE_VERSION    if (!InitVectorialFonts ()) {        printf ("InitVectorialFonts: error.\n");        return 1;    }#endif    DlgBoxInputChar.controls = CtrlInputChar;    DialogBoxIndirectParam (&DlgBoxInputChar, HWND_DESKTOP, InputCharDialogBoxProc, 0L);#ifdef _LITE_VERSION    TermVectorialFonts ();#endif    return 0;}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif

⌨️ 快捷键说明

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