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

📄 add.c

📁 基于minigui的手机界面程序开发 实现简单的计数器功能
💻 C
字号:
/* 
** $Id: dialogbox.c,v 1.3 2003/06/13 06:50:39 weiym Exp $
**
** Listing 4.1
**
** dialogbox.c: Sample program for MiniGUI Programming Guide
** 	Usage of DialogBoxIndirectParam
**
** Copyright (C) 2003 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>
#include<minigui/mgext.h>
#define IDC_PROMPTINFO	100
#define IDC_PROGRESS  	110
#define BTN_ADD 120
#define BTN_DEL 130
#define BTN_SER 140
#define BTN_NAME 150
#define IDC_T 150
#define BTN_OK 160
static BITMAP bmp;

void AddData(HWND hdlg)
{
	char stuname[20],stugender[20],sql[50];
	int i,j,nrows,ncols;
	char *a;
	char **result;
	sqlite3 *db=NULL;
	int rc=0;
	char *zerr;
	//打开数据库
	rc=sqlite3_open("phone.db",&db);
	if(rc)
	{
		sqlite3_close(db);
	}
	
	 GetWindowText(GetDlgItem(hdlg,BTN_NAME),stuname,20);
	 GetWindowText(GetDlgItem(hdlg,BTN_ADD),stugender,20);
	//准备SQL语句
	sprintf(sql,"insert into phone (name,num)values('%s','%d')",stuname,stugender);
	//执行SQL语句
	rc=sqlite3_exec(db,sql,NULL,NULL,&zerr);
	if(rc!=SQLITE_OK)
	{
		if(zerr!=NULL)
		{
			sqlite3_free(zerr);
		}
	}
	//关闭数据库
	sqlite3_close(db);
	SetWindowText(GetDlgItem(hdlg,BTN_NAME),"");
       SetWindowText(GetDlgItem(hdlg,BTN_ADD),"");
	
	MessageBox(hdlg,"Insert success","MESSAGE",MB_OK);
}
	




static DLGTEMPLATE DlgInitProgress =
{
    WS_BORDER | WS_CAPTION, 
    WS_EX_NONE,
    60, 60, 320, 240, 
    "通讯录",
    0, 0,
    7, NULL,
    0
};



static CTRLDATA CtrlInitProgress [] =
{ 
    {
        "static",
        WS_VISIBLE | SS_SIMPLE,
        10, 10, 380, 16, 
        IDC_PROMPTINFO, 
        "通讯录---添加号码",
        0
    },
        {
CTRL_EDIT,
WS_VISIBLE,
150, 70, 100, 25,
//200,100,240,25,
IDC_PROGRESS,
0,
0
},

        {
CTRL_EDIT,
WS_VISIBLE,
150,100,100,25,
IDC_T,
0,
0
},
    
    /*{
        "progressbar",
        WS_VISIBLE,
        10, 40, 380, 20,
        IDC_PROGRESS,
        NULL,
        0
    },*/

	{
       "static",
	 WS_VISIBLE|SS_CENTER,
	 10, 70, 100, 25,
        BTN_NAME, 
        "姓名",
        0
	},
  {
        "static",
        WS_VISIBLE|SS_CENTER, 
        10, 100, 100, 25,
        BTN_ADD, 
        "添加号码",
        0
    },
       {
        "button",
        WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON, 
        150, 160, 100, 25,
        IDCANCEL, 
        "返回",
        0
    },

    
    {
        "button",
        WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON, 
        10, 160, 100, 25,
        BTN_OK, 
        "确定",
        0
    }
};

static int InitDialogBoxProc2 (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    switch (message) {
    case MSG_INITDIALOG:
        return 1;
case MSG_ERASEBKGND:
	hdc = GetClientDC(hDlg);
	LoadBitmap (HDC_SCREEN, &bmp, "bk2.jpg");
	FillBoxWithBitmap(hdc,0,0,320,240,&bmp);
	Rectangle(hdc,0,0,320,240);
	ReleaseDC(hdc);
	return 0;
    	
        
    case MSG_COMMAND:
        switch (wParam) 
			{
	case IDOK:
		case BTN_OK:
		AddData(hDlg);
		break;
		
        case IDCANCEL:
            EndDialog (hDlg, wParam);
            break;
                      }
       break; 
       } 
    
    
    return DefaultDialogProc (hDlg, message, wParam, lParam);
}

 void InitDialogBox2 (HWND hWnd)
{
    DlgInitProgress.controls = CtrlInitProgress;
    
    DialogBoxIndirectParam (&DlgInitProgress, hWnd, InitDialogBoxProc2, 0L);
}

/*int MiniGUIMain (int argc, const char* argv[])
{
#ifdef _LITE_VERSION
    SetDesktopRect(0, 0, 1024, 768);
#endif
    
    InitDialogBox2 (HWND_DESKTOP);

    return 0;
}*/

⌨️ 快捷键说明

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