深入的学习minigui了哦!说是深入,其实还是非常的肤浅,原因就一个缺少所谓的资料!下面把自己的一个资料贴出来:(还需要很好的修改哦!还有挂程序,任务还是很艰巨的哦!)
#include <string.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
#define IDC_DISP1 1001
HWND hMainWnd;
/* setting the dlg attrib */
static DLGTEMPLATE DlgInitProgress =
{ WS_BORDER | WS_CAPTION,
WS_EX_NONE,
20, 50, 200, 130,
"212ARM智能家居系统!",
0,
0,
3,
NULL,
0
};
/* control for dlg */
static CTRLDATA CtrlInitData[] =
{
{ "static",
WS_VISIBLE | SS_SIMPLE,
50,30, 120, 16,
IDC_DISP1,
"请选择控制模式!",
0,
WS_EX_NONE
},
{ "button",
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
20,70, 70,25,
IDOK,
"本地",
0,
WS_EX_NONE
},
{ "button",
WS_TABSTOP | WS_VISIBLE,
110,70, 70,25,
IDCANCEL,
"远程",
0,
WS_EX_NONE
}
};
static int DialogBoxProc(HWND hdlg, int message, WPARAM wParam, LPARAM lParam)
{ switch(message)
{ case MSG_INITDIALOG:
return(1);
case MSG_COMMAND:
switch(wParam)
{ case IDOK:
case IDCANCEL:
EndDialog(hdlg, wParam);
DestroyAllControls(hdlg);
break;
}
break;
}
return(DefaultDialogProc(hdlg, message, wParam, lParam));
}
static void InitDialogBox(HWND hWnd)
{ DlgInitProgress.controls = CtrlInitData;
DialogBoxIndirectParam(&DlgInitProgress, hWnd, DialogBoxProc, 0L);
}
//正在进行远程控制(修改后);
static char *hello_str = "正在进行远程控制!";
static int WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{ HDC hdc;
switch(message)
{ case MSG_PAINT:
hdc = BeginPaint(hWnd);
TextOut(hdc, 50, 50, hello_str);
EndPaint(hWnd, hdc);
break;
case MSG_CLOSE:
DestroyMainWindow(hWnd);
PostQuitMessage(hWnd);
break;
default:
return(DefaultMainWinProc(hWnd, message, wParam, lParam));
}
return(0);
}
int InitMainWindow(void)
{ MAINWINCREATE window_info;
window_info.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;
window_info.dwExStyle = WS_EX_NONE;
window_info.spCaption = "友情提示!";
window_info.hMenu = 0;
window_info.hCursor = GetSystemCursor(0);
window_info.hIcon = 0;
window_info.MainWindowProc = WinProc;
window_info.lx = 40;
window_info.ty = 50;
window_info.rx = 238;
window_info.by = 200;
window_info.iBkColor = COLOR_lightwhite;
window_info.dwAddData = 0;
window_info.hHosting = HWND_DESKTOP;
hMainWnd = CreateMainWindow (&window_info);
if (hMainWnd == HWND_INVALID) return(0);
else return(1);
}
int MiniGUIMain(int argc, const char *argv[])
{ MSG Msg;
#ifdef _LITE_VERSION
SetDesktopRect(0,0, 800,600);
#endif
InitDialogBox(HWND_DESKTOP);
InitMainWindow();
ShowWindow(hMainWnd, SW_SHOWNORMAL);
while (GetMessage(&Msg, hMainWnd))
{ TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
MainWindowThreadCleanup (hMainWnd);
return(0);
}
#ifndef _LITE_VERSION
#include <minigui/dti.c>
#endif
(缺少:返回的程序哦!缺少挂载程序哦)!已经有几天哦,加油!!!