MGFC快速入门(www.mgfc.org.cn)

www.mgfc.org.cn 快速学习MGFC的使用 1.为MGFC构建学习环境 MGFC是在linux+qvfb下开发的。作为学习使用,也可以构建这样的系统。 首先,准备一个linux系统,推荐使用ReadHat9或以上。您也可以通过安装VMWare虚拟机,在虚拟机上进行开发。 其次,获取MiniGUI。您需要获取1.6以上的商业版本,否则,有很多控件不能使用,很多示例也不能演示.安装MiniGUI请参考其说明文档. 第三,下载并安装QVFB(1.0及其以上版本) 2. 获取并安装MGFC 下载完成后,请按照如下步骤: 1. 解压: tar zxf mgfcx.x.tar.gz 2. 编译mgfc库: cd mgfc/mgfc 3. make 5 编译示例程序: cd .. 6. make 查看演示程序,可以: $ qvfb& $ ./hello 等等 3. 从第一个程序开始 从最简单的Hello Word程序开始:1 1. 创建主窗口类: class Hello:public MGMainWnd //重要:任何一个MGFC程序都从一个MGMainWnd继承主窗口 { public: BOOL Create(); //主窗口的创建 protected: BOOL WndProc(int iMsg,WPARAM wParam,LPARAM lParam,int *pret); //WndProc是MGFC窗口程序的消息处理函数。这是一个虚函数,重写该函数即可实现消息处理 }; 2. 创建主窗口: BOOL HelloMainWnd::Create(const char *caption) { if(MGMainWnd::Create(WS_VISIBLE|WS_BORDER|WS_CAPTION,caption,0,0,g_rcScr.right,g_rcScr.bottom)) { return TRUE; } return FALSE; } 只要调用MGMainWnd::Create函数即可. 3. 实现窗口过程: BOOL HelloMainWnd::WndProc(int iMsg,WPARAM wParam,LPARAM lParam,int *pret) { HDC hdc; switch(iMsg) { case MSG_PAINT: hdc = BeginPaint(); TextOut(hdc,10,10,m_szWelcom); EndPaint(hdc); RETURN(0); case MSG_CLOSE: Destroy(); PostQuitMessage(); RETURN(0); } return FALSE; } 窗口的过程的处理和MiniGUI的API是很类似的。当然,您也可以使用更方便的消息映射机制 4. 书写主过程MiniGUIMain int MiniGUIMain(int args, const char* argv[]) { MSG msg; HelloMainWnd mainWnd; //声明主窗口 mainWnd.Create(); while(GetMessage(&msg,mainWnd)){ //建立消息循环 TranslateMessage(&msg); DispatchMessage(&msg); } MainWindowThreadCleanup(mainWnd.Detach()); //在清理之前,删除主窗口和消息的关联。 } MGFC的主函数和MiniGUI的主函数是一样的。MGFC的通用形式是: 1. 创建一个主窗口,且实现函数BOOL Create(); 2. 在MiniGUIMain中实现Create主窗口,并建立消息循环。 4. 深入学习 进一步的深入学习,请参考MGFC文档和MGFC演示程序

你可能感兴趣的:(MGFC快速入门(www.mgfc.org.cn))