• 大小: 49KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: SDK画图  

资源简介

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\script1.aps

     文件       3245  2008-02-09 11:36  SDK_PAINT\script1.rc

     文件       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


评论

共有 条评论

相关资源