資源簡介
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 加密芯片測試案例
評論
共有 條評論