#include "stdafx.h"
#include
#include "resource.h"
#include
#include
#define MAX_LOADSTRING 100
struct curve
{
double R; double rr; double t1; double t2;
}Curve,Cur[12];
int s[4]={0},C; HINSTANCE hInst;
TCHAR szTitle[MAX_LOADSTRING];
TCHAR szWindowClass[MAX_LOADSTRING];
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance, LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;
HACCEL hAccelTable;
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_FLOVERCURVE, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance);
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_FLOVERCURVE); while (GetMessage(msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg))
{
TranslateMessage(msg); DispatchMessage(msg);
}
}
return msg.wParam;
}
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style. = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0; wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_FLOVERCURVE); wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_FLOVERCURVE; wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(wcex);
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance;
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd);
return TRUE;
}
LRESULT CALLBACK Input(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
{
SetDlgItemInt(hDlg,IDC_R,Curve.R,FALSE); SetDlgItemInt(hDlg,IDC_rr,Curve.rr,FALSE);
SetDlgItemInt(hDlg,IDC_t1,Curve.t1,FALSE); SetDlgItemInt(hDlg,IDC_t2,Curve.t2,FALSE); SetDlgItemInt(hDlg,IDC_C,C,FALSE);
}
return TRUE;
case WM_COMMAND: if(LOWORD(wParam)==IDOK)
{
Curve.R=GetDlgItemInt(hDlg,IDC_R,NULL,FALSE); Curve.rr=GetDlgItemInt(hDlg,IDC_rr,NULL,FALSE); Curve.t1=GetDlgItemInt(hDlg,IDC_t1,NULL,FALSE); Curve.t2=GetDlgItemInt(hDlg,IDC_t2,NULL,FALSE); C=GetDlgItemInt(hDlg,IDC_C,NULL,FALSE);
}
if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)
{
EndDialog(hDlg,LOWORD(wParam)); return TRUE;
}
break;
}
return FALSE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); float i,j,x,y;
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); switch (wmId)
{
case IDM_INPUT:
{
if(DialogBox(hInst,(LPCTSTR)IDD_INPUT,hWnd,(DLGPROC)Input)==IDOK)
{
InvalidateRect(hWnd,NULL,TRUE);
}
break;
}
case IDM_1:
{
s[0]=1-s[0];
InvalidateRect(hWnd,NULL,TRUE); break;
}
case IDM_2:
{
s[1]=1-s[1];
InvalidateRect(hWnd,NULL,TRUE); break;
}
case IDM_3:
{
s[2]=1-s[2];
InvalidateRect(hWnd,NULL,TRUE); break;
}
case IDM_4:
{
s[3]=1-s[3];
InvalidateRect(hWnd,NULL,TRUE); break;
}
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break;
case IDM_EXIT:
DestroyWindow(hWnd); break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break; InvalidateRect(hWnd,NULL,TRUE); break;
case WM_PAINT:
hdc = BeginPaint(hWnd, ps);
{
if(s[0]==1)
{
Cur[0].R=360; Cur[0].rr=200; Cur[0].t1=75;
Cur[0].t2=50;
Cur[1].R=200; Cur[1].rr=147; Cur[1].t1=47;
Cur[1].t2=33;
Cur[2].R=351; Cur[2].rr=153; Cur[2].t1=73;
Cur[2].t2=33;
for(i=0;i<3;i++)
{
HPEN
a1=CreatePen(PS_SOLID,3,RGB(rand()%255,rand()%255,rand()%255));
HGDIOBJ olda1=SelectObject(hdc,a1); for(j=0;j<62.8;j+=0.01)
{
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t1*cos(j+Cur[0].R*j/Cur[0].rr)+650+2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t1*sin(j+Cur[0].R*j/Cur[0].rr)+350+2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t2*cos(j+Cur[0].R*j/Cur[0].rr)+650+2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t2*sin(j+Cur[0].R*j/Cur[0].rr)+350+2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
}
SelectObject(hdc,olda1); DeleteObject(a1);
HPEN
a2=CreatePen(PS_SOLID,3,RGB(rand()%255,rand()%255,rand()%255));
HGDIOBJ olda2=SelectObject(hdc,a2); for(j=0;j<62.8;j+=0.01)
{
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t1*cos(j+Cur[0].R*j/Cur[0].rr)+650+2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t1*sin(j+Cur[0].R*j/Cur[0].rr)+350-2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t2*cos(j+Cur[0].R*j/Cur[0].rr)+650+2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t2*sin(j+Cur[0].R*j/Cur[0].rr)+350-2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
}
SelectObject(hdc,olda2); DeleteObject(a2);
HPEN
a3=CreatePen(PS_SOLID,3,RGB(rand()%255,rand()%255,rand()%255));
HGDIOBJ olda3=SelectObject(hdc,a3); for(j=0;j<62.8;j+=0.01)
{
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t1*cos(j+Cur[0].R*j/Cur[0].rr)+650-2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t1*sin(j+Cur[0].R*j/Cur[0].rr)+350+2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t2*cos(j+Cur[0].R*j/Cur[0].rr)+650-2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t2*sin(j+Cur[0].R*j/Cur[0].rr)+350+2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
}
SelectObject(hdc,olda3); DeleteObject(a3);
HPEN
a4=CreatePen(PS_SOLID,3,RGB(rand()%255,rand()%255,rand()%255));
HGDIOBJ olda4=SelectObject(hdc,a4); for(j=0;j<62.8;j+=0.01)
{
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t1*cos(j+Cur[0].R*j/Cur[0].rr)+650-2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t1*sin(j+Cur[0].R*j/Cur[0].rr)+350-2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[0].R-Cur[0].rr)*cos(j)+Cur[0].t2*cos(j+Cur[0].R*j/Cur[0].rr)+650-2*i;
y=(Cur[0].R-Cur[0].rr)*sin(j)+Cur[0].t2*sin(j+Cur[0].R*j/Cur[0].rr)+350-2*i;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
}
SelectObject(hdc,olda4); DeleteObject(a4);
}
for(i=0;i<62.8;i+=0.01)
{
HPEN b=CreatePen(PS_SOLID,3,RGB(168,15,251));
HGDIOBJ ldb=SelectObject(hdc,b);
x=(Cur[1].R-Cur[1].rr)*cos(i)+Cur[1].t1*cos(i+Cur[1].R*i/Cur[1].rr)+650;
y=(Cur[1].R-Cur[1].rr)*sin(i)+Cur[1].t1*sin(i+Cur[1].R*i/Cur[1].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[1].R-Cur[1].rr)*cos(i)+Cur[1].t2*cos(i+Cur[1].R*i/Cur[1].rr)+650;
y=(Cur[1].R-Cur[1].rr)*sin(i)+Cur[1].t2*sin(i+Cur[1].R*i/Cur[1].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldb); DeleteObject(b);
} for(i=0;i<62.8;i+=0.01)
{
HPEN c=CreatePen(PS_SOLID,3,RGB(130,2,130));
HGDIOBJ ldc=SelectObject(hdc,c);
x=(Cur[2].R-Cur[2].rr)*cos(i)+Cur[2].t1*cos(i+Cur[2].R*i/Cur[2].rr)+650;
y=(Cur[2].R-Cur[2].rr)*sin(i)+Cur[2].t1*sin(i+Cur[2].R*i/Cur[2].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[2].R-Cur[2].rr)*cos(i)+Cur[2].t2*cos(i+Cur[2].R*i/Cur[2].rr)+650;
y=(Cur[2].R-Cur[2].rr)*sin(i)+Cur[2].t2*sin(i+Cur[2].R*i/Cur[2].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldc); DeleteObject(c);
}
}
if(s[1]==1)
{
Cur[3].R=350; Cur[3].rr=150; Cur[3].t1=75;
Cur[3].t2=22;
Cur[4].R=197;
Cur[4].rr=67;
Cur[4].t1=59; Cur[4].t2=195; Cur[5].R=189;
Cur[5].rr=77;
Cur[5].t1=85;
Cur[5].t2=45; for(i=0;i<62.8;i+=0.01)
{
HPEN d=CreatePen(PS_SOLID,3,RGB(242,155,247));
HGDIOBJ ldd=SelectObject(hdc,d);
x=(Cur[3].R-Cur[3].rr)*cos(i)+Cur[3].t1*cos(i+Cur[3].R*i/Cur[3].rr)+650;
y=(Cur[3].R-Cur[3].rr)*sin(i)+Cur[3].t1*sin(i+Cur[3].R*i/Cur[3].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[3].R-Cur[3].rr)*cos(i)+Cur[3].t2*cos(i+Cur[3].R*i/Cur[3].rr)+650;
y=(Cur[3].R-Cur[3].rr)*sin(i)+Cur[3].t2*sin(i+Cur[3].R*i/Cur[3].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldd); DeleteObject(d);
} for(i=0;i<62.8;i+=0.01)
{
HPEN e=CreatePen(PS_SOLID,3,RGB(129,143,248));
HGDIOBJ lde=SelectObject(hdc,e);
x=(Cur[4].R-Cur[4].rr)*cos(i)+Cur[4].t1*cos(i+Cur[4].R*i/Cur[4].rr)+650;
y=(Cur[4].R-Cur[4].rr)*sin(i)+Cur[4].t1*sin(i+Cur[4].R*i/Cur[4].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[4].R-Cur[4].rr)*cos(i)+Cur[4].t2*cos(i+Cur[4].R*i/Cur[4].rr)+650;
y=(Cur[4].R-Cur[4].rr)*sin(i)+Cur[4].t2*sin(i+Cur[4].R*i/Cur[4].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,olde);
DeleteObject(e);
}
for(i=0;i<62.8;i+=0.01)
{
HPEN f=CreatePen(PS_SOLID,3,RGB(237,250,126));
HGDIOBJ ldf=SelectObject(hdc,f);
x=(Cur[5].R-Cur[5].rr)*cos(i)+Cur[5].t1*cos(i+Cur[5].R*i/Cur[5].rr)+650;
y=(Cur[5].R-Cur[5].rr)*sin(i)+Cur[5].t1*sin(i+Cur[5].R*i/Cur[5].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[5].R-Cur[5].rr)*cos(i)+Cur[5].t2*cos(i+Cur[5].R*i/Cur[5].rr)+650;
y=(Cur[5].R-Cur[5].rr)*sin(i)+Cur[5].t2*sin(i+Cur[5].R*i/Cur[5].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldf); DeleteObject(f);
}
}
if(s[2]==1)
{
Cur[6].R=201;
Cur[6].rr=53;
Cur[6].t1=47;
Cur[6].t2=33;
Cur[7].R=143;
Cur[7].rr=33;
Cur[7].t1=53; Cur[7].t2=133; Cur[8].R=78;
Cur[8].rr=99;
Cur[8].t1=18;
Cur[8].t2=13; for(i=0;i<62.8;i+=0.01)
{
HPEN g=CreatePen(PS_SOLID,3,RGB(160,124,226));
HGDIOBJ ldg=SelectObject(hdc,g);
x=(Cur[6].R-Cur[6].rr)*cos(i)+Cur[6].t1*cos(i+Cur[6].R*i/Cur[6].rr)+650;
y=(Cur[6].R-Cur[6].rr)*sin(i)+Cur[6].t1*sin(i+Cur[6].R*i/Cur[6].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[6].R-Cur[6].rr)*cos(i)+Cur[6].t2*cos(i+Cur[6].R*i/Cur[6].rr)+650;
y=(Cur[6].R-Cur[6].rr)*sin(i)+Cur[6].t2*sin(i+Cur[6].R*i/Cur[6].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldg); DeleteObject(g);
} for(i=0;i<62.8;i+=0.01)
{
HPEN h=CreatePen(PS_SOLID,3,RGB(103,223,226));
HGDIOBJ ldh=SelectObject(hdc,h);
x=(Cur[7].R-Cur[7].rr)*cos(i)+Cur[7].t1*cos(i+Cur[7].R*i/Cur[7].rr)+650;
y=(Cur[7].R-Cur[7].rr)*sin(i)+Cur[7].t1*sin(i+Cur[7].R*i/Cur[7].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[7].R-Cur[7].rr)*cos(i)+Cur[7].t2*cos(i+Cur[7].R*i/Cur[7].rr)+650;
y=(Cur[7].R-Cur[7].rr)*sin(i)+Cur[7].t2*sin(i+Cur[7].R*i/Cur[7].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldh); DeleteObject(h);
} for(i=0;i<31.4;i+=0.01)
{
HPEN m=CreatePen(PS_SOLID,3,RGB(138,247,111));
HGDIOBJ ldm=SelectObject(hdc,m);
x=(Cur[8].R-Cur[8].rr)*cos(i)+Cur[8].t1*cos(i+Cur[8].R*i/Cur[8].rr)+650;
y=(Cur[8].R-Cur[8].rr)*sin(i)+Cur[8].t1*sin(i+Cur[8].R*i/Cur[8].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[8].R-Cur[8].rr)*cos(i)+Cur[8].t2*cos(i+Cur[8].R*i/Cur[8].rr)+650;
y=(Cur[8].R-Cur[8].rr)*sin(i)+Cur[8].t2*sin(i+Cur[8].R*i/Cur[8].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldm); DeleteObject(m);
}
}
if(s[3]==1)
{
Cur[9].R=250; Cur[9].rr=152; Cur[9].t1=50;
Cur[9].t2=22; Cur[10].R=360; Cur[10].rr=200; Cur[10].t1=75; Cur[10].t2=50; Cur[11].R=351; Cur[11].rr=196; Cur[11].t1=97; Cur[11].t2=8; for(i=0;i<62.8;i+=0.01)
{
HPEN j=CreatePen(PS_SOLID,3,RGB(252,121,88));
HGDIOBJ ldj=SelectObject(hdc,j);
x=(Cur[9].R-Cur[9].rr)*cos(i)+Cur[9].t1*cos(i+Cur[9].R*i/Cur[9].rr)+650;
y=(Cur[9].R-Cur[9].rr)*sin(i)+Cur[9].t1*sin(i+Cur[9].R*i/Cur[9].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[9].R-Cur[9].rr)*cos(i)+Cur[9].t2*cos(i+Cur[9].R*i/Cur[9].rr)+650;
y=(Cur[9].R-Cur[9].rr)*sin(i)+Cur[9].t2*sin(i+Cur[9].R*i/Cur[9].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldj); DeleteObject(j);
} for(i=0;i<62.8;i+=0.01)
{
HPEN k=CreatePen(PS_SOLID,3,RGB(245,236,122));
HGDIOBJ ldk=SelectObject(hdc,k);
x=(Cur[10].R-Cur[10].rr)*cos(i)+Cur[10].t1*cos(i+Cur[10].R*i/Cur[10].rr)+650; y=(Cur[10].R-Cur[10].rr)*sin(i)+Cur[10].t1*sin(i+Cur[10].R*i/Cur[10].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[10].R-Cur[10].rr)*cos(i)+Cur[10].t2*cos(i+Cur[10].R*i/Cur[10].rr)+650;
y=(Cur[10].R-Cur[10].rr)*sin(i)+Cur[10].t2*sin(i+Cur[10].R*i/Cur[10].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldk);
DeleteObject(k);
}
for(i=0;i<62.8;i+=0.01)
{
HPEN l=CreatePen(PS_SOLID,3,RGB(97,214,220));
HGDIOBJ ldl=SelectObject(hdc,l);
x=(Cur[11].R-Cur[11].rr)*cos(i)+Cur[11].t1*cos(i+Cur[11].R*i/Cur[11].rr)+650; y=(Cur[11].R-Cur[11].rr)*sin(i)+Cur[11].t1*sin(i+Cur[11].R*i/Cur[11].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y);
x=(Cur[11].R-Cur[11].rr)*cos(i)+Cur[11].t2*cos(i+Cur[11].R*i/Cur[11].rr)+650;
y=(Cur[11].R-Cur[11].rr)*sin(i)+Cur[11].t2*sin(i+Cur[11].R*i/Cur[11].rr)+350;
MoveToEx(hdc,x,y,NULL); LineTo(hdc,x,y); SelectObject(hdc,oldl); DeleteObject(l);
}
}
HPEN hpen=CreatePen(PS_SOLID,1,RGB(252,92,218));
HGDIOBJ ldp=SelectObject(hdc,hpen); i=0;
MoveToEx(hdc,(Curve.R-Curve.rr)*cos(i)+Curve.t1*cos(i+Curve.R*i/Curve.rr)+650,( Curve.R-Curve.rr)*sin(i)+Curve.t1*sin(i+Curve.R*i/Curve.rr)+350,NULL);
for(i=0;i<6.28*C;i+=0.01)
{
x=(Curve.R-Curve.rr)*cos(i)+Curve.t1*cos(i+Curve.R*i/Curve.rr)+650; y=(Curve.R-Curve.rr)*sin(i)+Curve.t1*sin(i+Curve.R*i/Curve.rr)+350;
LineTo(hdc,x,y);
}
MoveToEx(hdc,(Curve.R-Curve.rr)*cos(i)+Curve.t2*cos(i+Curve.R*i/Curve.rr)+650,( Curve.R-Curve.rr)*sin(i)+Curve.t2*sin(i+Curve.R*i/Curve.rr)+350,NULL);
for(i=0;i<6.28*C;i+=0.01)
{
x=(Curve.R-Curve.rr)*cos(i)+Curve.t2*cos(i+Curve.R*i/Curve.rr)+650; y=(Curve.R-Curve.rr)*sin(i)+Curve.t2*sin(i+Curve.R*i/Curve.rr)+350;
LineTo(hdc,x,y);
}
SelectObject(hdc,oldp);
DeleteObject(hpen); EndPaint(hWnd, ps); break;
}
case WM_DESTROY: PostQuitMessage(0); break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam)); return TRUE;
}
break;
}
return FALSE;
}