2017-2018-2《VC++高级编程》期末试卷
(文档部分)
班级: 15级计本1班 学号:2015024027 姓名:杨旋 一、题目描述:编写一个程序,在屏幕出现一个圆心沿正弦曲线轨迹移动的实心圆,要求每隔四分之一周期,圆的填充色和圆的周边颜色都发生变化(颜色自己选取),同时,圆的半径在四分之一周期之内由正弦曲线幅值的0.2倍至0.6倍线性增长。 二、程序运行效果
三、程序功能实现的关键代码 #include \#include
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
double dfTheta = 0, dfRange = 100.0; long i = 0, j = 0;
long lCentreX = 0, lCentreY = 0, lRadious = (long)(0.2*dfRange); POINT lpSin[100];
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow) {
HWND hwnd; MSG Message; WNDCLASS wndclass; wndclass.cbClsExtra = 0;
//窗口类无扩展 //窗口实例无扩展
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance; //当前实例句柄
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); //窗口采
用箭头光标
wndclass.hbrBackground
=
(HBRUSH)GetStockObject(WHITE_BRUSH); //窗口背景为白色
wndclass.lpszMenuName = NULL; //窗口中无菜单 wndclass.lpszClassName = L\//窗口类名为\窗口\
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); //窗口的
最小化图标为缺省图标
wndclass.lpfnWndProc = WndProc; //定义窗口处理函数 wndclass.style = 0;
if (!RegisterClass(&wndclass)) //如果注册失败则发出警告 { }
//---------------- 创建窗口 ------------------- hwnd = CreateWindow(
L\//窗口类名 L\
//窗口实例的标题名
MessageBeep(0); return FALSE;
WS_OVERLAPPEDWINDOW, //窗口的风格 CW_USEDEFAULT,
0, //窗口左上角坐标为缺省值 CW_USEDEFAULT, 0, //窗口的高和宽为缺省值