资源简介
C SDK画图的小程序
代码片段和文件信息
//Draw.cpp
#include
#include “resource.h“
void Draw(HWNDPOINTSPOINTSintintintint);
LRESULT CALLBACK WndProc(HWNDUINTWPARAMLPARAM);
//作画链表
struct Node
{
int iDrawType;//形状
int iColour;//颜色
int iSize;//粗细
int iDash;//虚实线
POINTS ptStart;//起点
POINTS ptEnd;//终点
struct Node *next;
}*head*cur*pq;
//定义窗口类名
TCHAR szAppName[]=TEXT(“EASYDRAW“);
//函数:WinMain()
//功能:Win32应用程序入口函数。创建主窗口
int WINAPI WinMain(HINSTANCE hInstanceHINSTANCE hPrevInstancePSTR szCmdLineint iCmdShow)
//参数(应用程序的当前实例句柄;前一个实例句柄;指向任何传给程序的命令行参数(PSTR“指向字符串的指针“);初始化窗口)
{
HACCEL hAccel;
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
//定义窗口类
wndclass.style = CS_HREDRAW|CS_VREDRAW;//窗口类风格
wndclass.lpfnWndProc = WndProc;//指向窗口过程函数的指针
wndclass.hInstance = hInstance;//拥有窗口类的实例句柄
wndclass.cbClsExtra = 0;//窗口类附加数据
wndclass.cbWndExtra = 0;//窗口附加数据
wndclass.hIcon = LoadIcon(hInstanceszAppName);//最小窗口图标
wndclass.hCursor = LoadCursor(NULLIDC_ARROW);//窗口内使用的光标
wndclass.hbrBackground = (HBRUSH)GetStockobject(WHITE_BRUSH);//用来着色窗口背景的刷子
wndclass.lpszMenuName = szAppName;//指向菜单资源名的指针
wndclass.lpszClassName = szAppName;// 指向窗口类名的指针
//注册窗口类
if(!RegisterClass(&wndclass))
{
MessageBox(NULLTEXT(“This programe requies Windows NT!“)
szAppNameMB_IConerror);
return 0;
}
hwnd=CreateWindow(szAppName//登记的窗口类名
TEXT(“小起简易绘画器_SDK开发“)//窗口的标题
WS_OVERLAPPEDWINDOW // 窗口的风格
CW_USEDEFAULT //程序运行后窗口在屏幕中的坐标值
CW_USEDEFAULT
CW_USEDEFAULT // 窗口初始化时(即程序初运行时)窗口的大小,即长度与宽度
CW_USEDEFAULT
NULL // 指定父窗口这里没有父窗口则参数值为0
NULL // 窗口的菜单
hInstance
NULL);
ShowWindow(hwndiCmdShow);//显示窗口(哪个,方式)
UpdateWindow(hwnd);//更新窗口
//载入键盘加速表
hAccel=LoadAccelerators(hInstanceszAppName);
while(GetMessage(&msgNULL00))
{
if(!TranslateAccelerator(hwndhAccel&msg))
{
TranslateMessage(&msg);//翻译消息
DispatchMessage(&msg);//撤去消息
}
}
return msg.wParam ;
}
//窗口处理函数
LRESULT CALLBACK WndProc(HWND hwndUINT messageWPARAM wParamLPARAM lParam)
{
static int iCurMenu1iCurMenu2iCurMenu3iCurMenu4;
static int iColoriShapeiSizeiDash;
static HMENU hMenu;
static POINTS ptBeginptOldEndptEnd;
int id;
HDC hdc;
PAINTSTRUCT ps;
static BOOL bDraw; //是否已开始作画
switch(message)
{
case WM_CREATE:
hMenu=GetMenu(hwnd); //获得菜单名柄
iCurMenu1=ID_CLR_BLACK; //初始化
iCurMenu2=ID_S_LINE;
iCurMenu3=ID_WIDTH_1;
iCurMenu4=ID_D_SOLID;
iColor=0;
iShape=0;
iSize=0;
iDash=0;
bDraw=FALSE;
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
//选择颜色
case ID_CLR_BLACK:
case ID_CLR_WHITE:
case ID_CLR_GRAY:
case ID_CLR_RED:
case ID_CLR_GREEN:
case ID_CLR_BLUE:
case ID_CLR_PINK:
case ID_CLR_YELLOW:
case ID_CLR_VIRIDITY:
CheckMenuItem(hMenuiCurMenu1MF_UNCHECKED);
iCurMenu1=LOWORD(wParam);
CheckMenuItem(hMenuiCurMenu1MF_CHECKED);
iColo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 524 2008-02-08 21:56 SDK_PAINT\SDK_PAINT.dsw
文件 41984 2008-02-10 12:10 SDK_PAINT\SDK_PAINT.ncb
文件 180285 2008-02-10 12:09 SDK_PAINT\Debug\SDK_PAINT.exe
文件 1351 2008-02-10 12:09 SDK_PAINT\SDK_PAINT.plg
文件 4139 2008-02-08 23:06 SDK_PAINT\SDK_PAINT.dsp
文件 1492 2008-02-09 11:36 SDK_PAINT\resource.h
文件 33140 2008-02-09 11:36 SDK_PAINT\sc
文件 3245 2008-02-09 11:36 SDK_PAINT\sc
文件 1925 2008-02-09 15:11 SDK_PAINT\DrawFun.cpp
文件 6660 2008-02-10 12:09 SDK_PAINT\Draw.cpp
文件 48640 2008-02-10 12:10 SDK_PAINT\SDK_PAINT.opt
目录 0 2008-02-08 21:56 SDK_PAINT\Debug
目录 0 2008-02-08 21:56 SDK_PAINT
----------- --------- ---------- ----- ----
323385 13
- 上一篇:TF卡座 micro SD卡
- 下一篇:Jetson-tx2 加密芯片测试案例
评论
共有 条评论