MINI GUI绘图
来源:互联网 发布:mac 怎么下载ps 编辑:程序博客网 时间:2024/05/21 22:30
/* ** $Id: painter.c,v 1.6 2004/09/29 05:35:24 suowei Exp $**** Listing 15.1**** painter.c: Sample program for MiniGUI Programming Guide** Painting by using mouse.**** Copyright (C) 2004 Feynman Software.**** License: GPL*/#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>static int PainterWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ HDC hdc; static BOOL bdraw = FALSE; static int pre_x, pre_y; switch (message) { case MSG_LBUTTONDOWN: SetCapture(hWnd); bdraw = TRUE; pre_x = LOWORD (lParam); pre_y = HIWORD (lParam); break; case MSG_MOUSEMOVE: { int x = LOWORD (lParam); int y = HIWORD (lParam); if (bdraw) { ScreenToClient(hWnd, &x, &y); hdc = GetClientDC(hWnd); SetPenColor(hdc, PIXEL_red); MoveTo(hdc, pre_x, pre_y); LineTo(hdc, x, y); ReleaseDC(hdc); pre_x = x; pre_y = y; } break; } case MSG_LBUTTONUP: { int x = LOWORD (lParam); int y = HIWORD (lParam); if (bdraw) { ScreenToClient(hWnd, &x, &y); hdc = GetClientDC(hWnd); SetPixel (hdc, x, y, PIXEL_red); ReleaseDC(hdc); bdraw = FALSE; ReleaseCapture(); } break; } case MSG_RBUTTONDOWN: InvalidateRect(hWnd, NULL, TRUE); break; case MSG_CLOSE: DestroyAllControls (hWnd); DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0; } return DefaultMainWinProc (hWnd, message, wParam, lParam);}int MiniGUIMain (int args, const char* arg[]){ MSG Msg; HWND hMainWnd; MAINWINCREATE CreateInfo;#ifdef _LITE_VERSION SetDesktopRect(0, 0, 1024, 768);#endif CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "Painter"; CreateInfo.hMenu = 0; CreateInfo.hCursor = GetSystemCursor(0); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = PainterWinProc; CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 240; CreateInfo.by = 320; 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 _LITE_VERSION#include <minigui/dti.c>#endif
- MINI GUI绘图
- MINI GUI 加载位图
- Mini gui 入门例程
- GUI绘图
- matlab GUI之一 ----------绘图
- MINI GUI 实现编辑对话框代码
- MINI GUI 上的helloworld 程序
- Ubuntu 10.04 下建立Mini GUI环境
- Python GUI 以及绘图参考
- MFC-GUI绘图相关摘要
- ubuntu8.10 mini2440 nfs 搭建 - mini(2440 GUI) (转载)
- mini
- matlab 不用GUI绘图加入pushbutton
- [Java GUI] 简易Java绘图程序实例
- MATLAB GUI设计——绘图
- java基础教程4 :Gui和绘图
- 没有GUI时使用matplotlib绘图
- 完成了2D绘图最小依赖的Ycnd 3D mini
- 立方体纹理(cube map)
- cocos2d HelloWorld 项目横竖屏、自动旋转问题
- MINI GUI 加载位图
- C语言---“C语言 谁与争锋?”
- WebBrowser直接写入内容
- MINI GUI绘图
- 全面的framebuffer详解
- stm32f407之MyDebugger(操作寄存器)
- 返回时 刷新要返回页面
- 大学操作系统教程的不足之处
- HDU 2952 与1241类似
- UVa 193 - Graph Coloring
- C++与C#对比学习:面向对象,接口,抽象类
- spring为ApplicationContext提供有三种实现