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

📄 helloworld.c

📁 基于minigui的手机界面程序开发 实现简单的计数器功能
💻 C
字号:
 
 
/*  
** Listing 2.1 
** 
** helloworld.c: Sample program for MiniGUI Programming Guide 
**     The first MiniGUI Application 
** 
** Copyright (C) 2003~2005 Feynman Software. 
** 
** License: GPL 
*/ 
 
#include <stdio.h> 
#include <stdlib.h>
//#include <sqlite3.h>
 
#include <minigui/common.h> 
#include <minigui/minigui.h> 
#include <minigui/gdi.h> 
#include <minigui/dti.c> 
#include <minigui/window.h> 
#include <minigui/control.h>
#include"call.c"
//#include"add.c"
#define ME 10
#define YOUR 22
#define YOURS 23
#define YOU 15
#define IDC_BMP_STATIC 40
#define IDC_STATIC1 50
#define IDC_B1 60
#define IDC_B2 61
#define BTN_CALL 62
static BITMAP bmp;
static BITMAP bmp_bk;
static BITMAP bmpt;
static PLOGFONT timefont;
static HWND hwnd_static;
char caption[100]={'\0'};


 static HMENU threemenu(void)
{
    HMENU hmnu; 
    MENUITEMINFO mii;
    LoadBitmap(HDC_SCREEN, &bmp_bk, "bk3.jpg");
	
    memset(&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_STRING; 
    mii.id          = 0; 
    mii.typedata    = (DWORD)""; 
    hmnu = CreatePopupMenu(&mii);

    //memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_BMPSTRING; 
    mii.state  = 0;
    mii.id          = 31; 
    mii.typedata    = (DWORD)"写短信"; 
   mii.hbmpUnchecked = &bmp_bk;
   InsertMenuItem(hmnu, 0, TRUE, &mii);

   
    //memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_BMPSTRING; 
    mii.state  = 0;
    mii.id          = 30; 
    mii.typedata    = (DWORD)"发短信"; 
    mii.hbmpUnchecked = &bmp_bk;
   InsertMenuItem(hmnu, 1, TRUE, &mii);
	return hmnu;
}


 static HMENU fourmenu(void)
{
    HMENU hmnu; 
    MENUITEMINFO mii;
    LoadBitmap(HDC_SCREEN, &bmp_bk, "bk3.jpg");
	
    memset(&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_STRING; 
    mii.id          = 0; 
    mii.typedata    = (DWORD)""; 
    hmnu = CreatePopupMenu(&mii);

    //memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_BMPSTRING; 
    mii.state  = 0;
    mii.id          = BTN_CALL; 
    mii.typedata    = (DWORD)"打电话"; 
   mii.hbmpUnchecked = &bmp_bk;
   InsertMenuItem(hmnu, 0, TRUE, &mii);

   
    //memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_BMPSTRING; 
    mii.state  = 0;
    mii.id          = 33; 
    mii.typedata    = (DWORD)"接电话"; 
    mii.hbmpUnchecked = &bmp_bk;
   InsertMenuItem(hmnu, 1, TRUE, &mii);
	return hmnu;
}
	


   static HMENU CreatestartMenu(void)
 	{
    HENU hmnu; 
    MENUITEMINFO mii;
    LoadBitmap(HDC_SCREEN, &bmp_bk, "bk3.jpg");
    memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_STRING; 
    mii.id          = 0; 
    mii.typedata    = (DWORD)""; 
    hmnu = CreatePopupMenu(&mii);
	
    
    memset (&mii, 0, sizeof(MENUITEMINFO)); 
   /* mii.type        = MFT_BMPSTRING; 
    mii.state  = 0;
    mii.id          = ME; 
    mii.typedata    = (DWORD)"通讯录"; 
    mii.hbmpUnchecked = &bmp_bk;
    InsertMenuItem(hmnu, 1, TRUE, &mii);*/

	
   //memset (&mii, 0, sizeof(MENUITEMINFO)); 
   mii.type = MFT_BMPSTRING;
   mii.state = 0;
   mii.id = 21;
   mii.typedata = (DWORD)"短信" ;
   mii.hbmpUnchecked = &bmp_bk;
   mii.hsubmenu = threemenu();
   InsertMenuItem(hmnu,2,TRUE,&mii);
   
   memset (&mii, 0, sizeof(MENUITEMINFO)); 
  /* mii.type = MFT_BMPSTRING;
   mii.state = 0;
   mii.id = YOUR;
   mii.typedata = (DWORD)"计算器" ;
   mii.hbmpUnchecked = &bmp_bk;
   InsertMenuItem(hmnu,1,TRUE,&mii);*/

   memset (&mii, 0, sizeof(MENUITEMINFO)); 
   mii.type = MFT_BMPSTRING;
   mii.state = 0;
   mii.id = YOURS;
   mii.typedata = (DWORD)"通讯" ;
   mii.hbmpUnchecked = &bmp_bk;
   mii.hsubmenu = fourmenu();
   InsertMenuItem(hmnu,0,TRUE,&mii);
   
    		
	return hmnu;
 	}
 	

 static HMENU  GetMyMenu (void) 
{ 
    HMENU hmnu; 
    MENUITEMINFO mii;
	hmnu=CreateMenu();
	 
	// LoadBitmap (HDC_SCREEN, &bmp_b, "bk4.jpg");
    memset (&mii, 0, sizeof(MENUITEMINFO)); 
    mii.type        = MFT_STRING; 
    mii.id          = 100; 
    mii.typedata    = (DWORD)"菜单"; 
    mii.hsubmenu = CreatestartMenu();
    InsertMenuItem(hmnu, 0,TRUE,&mii);
	return hmnu;
 	}
/*void callback_static(HWND hwnd,int id,int nc,DWORD add_data)
 	{

 	if(nc==STN_CLICKED)
 		{
 		//MessageBox(hwnd,"你中奖了!","消息",MB_OK);
 		GetWindowText(GetDlgItem(GetParent(hwnd),IDC_STATIC1),caption,20);
		MessageBox(hwnd,caption,"消息",MB_OK);
		
 		}
 	}*/
 
static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam) 
{ 
    HDC hdc; 
    switch (message) { 
	case MSG_CREATE:
		LoadBitmap (HDC_SCREEN, &bmp_bk, "bk3.jpg");
		//LoadBitmap (HDC_SCREEN, &bmpt, "close.JPG");
		
		/*CreateWindow(CTRL_STATIC, "超级手机",WS_VISIBLE|SS_CENTER,IDC_STATIC1,
		250,0,70,30,
		hWnd,
		0);
		
		hwnd_static=CreateWindow(CTRL_STATIC, "",SS_BITMAP|WS_VISIBLE|SS_NOTIFY,IDC_BMP_STATIC,
		250,30,70,30,
		hWnd,
		(DWORD)&bmpt);

		hwnd_static=CreateWindow(CTRL_STATIC, "asdfasdf",SS_SIMPLE|WS_VISIBLE|SS_NOTIFY,IDC_BMP_STATIC,
		250,60,70,30,
		hWnd,
		0);
		SetNotificationCallback(hwnd_static,callback_static);*/

		/*CreateWindow(
		CTRL_BUTTON,"单选按钮一",WS_CHILD|BS_AUTORADIOBUTTON|WS_GROUP|WS_VISIBLE,IDC_B1,
		200,25,130,25,
		hWnd,
		0);

			CreateWindow(
		CTRL_BUTTON,"单选按钮二",WS_CHILD|BS_AUTORADIOBUTTON|WS_GROUP|WS_VISIBLE,IDC_B2,
		200,65,130,25,
		hWnd,
		0);*/
			
		hdc = GetClientDC(hWnd);
		timefont = CreateLogFont(NULL,"Arial","ISO8859-1",FONT_WEIGHT_BOOK,FONT_SLANT_ROMAN,FONT_SETWIDTH_NORMAL,FONT_SPACING_CHARCELL,
			FONT_UNDERLINE_NONE,FONT_STRUCKOUT_NONE,60,0);
		SelectFont(hdc,timefont);
		SetBkMode(hdc,BM_TRANSPARENT);
		TextOut (hdc, 0, 0, "Qiyongle");
		ReleaseDC(hdc);
		break;
		
        case MSG_PAINT: 
            hdc = BeginPaint (hWnd); 
            TextOut (hdc, 100, 100, "欢迎使用"); 
            EndPaint (hWnd, hdc); 
            return 0; 
 
        

	//case MSG_CREATE:
            //if (LoadBitmap (HDC_SCREEN, &bmp, "bk.jpg"))
              // return -1;
            //return 0;

	case MSG_COMMAND:
		switch( wParam )
		{
			case ME:
				InitDialogBox(hWnd);
				break;	
			/*case IDC_B1:
				SendMessage(GetDlgItem(hWnd,IDC_B1),BM_GETCHECK,0,0);
				MessageBox(hWnd,"你已经选中单选钮一","消息",MB_OK);
				break;
			case IDC_B2:
				SendMessage(GetDlgItem(hWnd,IDC_B2),BM_GETCHECK,0,0);
				MessageBox(hWnd,"你已经选中单选钮二","消息",MB_OK);
				break;*/
			case YOUR:
				InitDialogBox3(hWnd);
				break;
			case BTN_CALL:
				InitDialogBox4(hWnd);
				break;
				
		}
		break;
			
	case MSG_ERASEBKGND:
	hdc = GetClientDC(hWnd);
	LoadBitmap (HDC_SCREEN, &bmp, "bk.jpg");
	FillBoxWithBitmap(hdc,0,0,320,240,&bmp);
	Rectangle(hdc,0,0,320,240);
	ReleaseDC(hdc);
		return 0;

		case MSG_CLOSE: 
            DestroyMainWindow (hWnd); 
            PostQuitMessage (hWnd); 
			//UnloadBitmap(&bmp);
			//UnloadBitmap(&bmpt);
			UnloadBitmap(&bmp_bk);
            return 0; 
    } 
 
    return DefaultMainWinProc(hWnd, message, wParam, lParam); 
} 
 
int MiniGUIMain (int argc, const char* argv[]) 
{ 
    MSG Msg; 
    HWND hMainWnd; 
    MAINWINCREATE CreateInfo; 
 
#ifdef _MGRM_PROCESSES 
    JoinLayer(NAME_DEF_LAYER , "helloworld" , 0 , 0); 
#endif 
 
    CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; 
    CreateInfo.dwExStyle = WS_EX_NONE; 
    CreateInfo.spCaption = "HelloWorld"; 
    CreateInfo.hMenu = GetMyMenu(); 
    CreateInfo.hCursor = GetSystemCursor(0); 
    CreateInfo.hIcon = 0; 
    CreateInfo.MainWindowProc = HelloWinProc; 
    CreateInfo.lx = 0; 
    CreateInfo.ty = 0; 
    CreateInfo.rx = 320; 
    CreateInfo.by = 240; 
    CreateInfo.iBkColor = COLOR_lightwhite; 
    CreateInfo.dwAddData = 0; 
    CreateInfo.hHosting = HWND_DESKTOP; 
 
    hMainWnd = CreateMainWindow (&CreateInfo); 
 
    if (hMainWnd == HWND_INVALID) 
        return -1; 
 
    ShowWindow(hMainWnd, SW_SHOWNORMAL); 
 
    while (GetMessage(&Msg, hMainWnd)) { 
        TranslateMessage(&Msg); 
        DispatchMessage(&Msg); 
    } 
 
    MainWindowThreadCleanup (hMainWnd); 
 
    return 0; 
} 
 /*
#ifndef _MGRM_PROCESSES 
#include <minigui/dti.c> 
#endif*/ 
 

⌨️ 快捷键说明

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