📄 helloworld.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 + -