#include <windows.h>
#define ID_A1 1
#define ID_A2 2
#define ID_A3 3
#define ID_B1 4
#define ID_B2 5
#define ID_B3 6
#define ID_C1 7
#define ID_C2 8
int flog=1;
int sharp=1; //1表示“线条”,2表示“矩形”,3表示“椭圆”
CHOOSECOLOR cc; // 颜色对话框定义
static COLORREF acrCustClr[16]; // 一个颜色的数组
static DWORD rgbCurrent; // 当前色彩LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
//LRESULT OnHotKey(WPARAM wParam,LPARAM lParam); //快捷键声明
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("绘画程序") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = NULL; //图标
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox ( NULL, TEXT ("This program requires Windows NT!"),szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName,TEXT ("绘图程序"),WS_BORDER|WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,
CW_USEDEFAULT,CW_USEDEFAULT, 400,350,NULL,NULL,hInstance,NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return (int)msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{ static HWND hwndButton[8] ;//按钮数组
int wmId, wmEvent;
HDC hdc ;
HPEN hpen;
HBRUSH hbrush;
PAINTSTRUCT ps ;
switch (message) { case WM_CREATE :
SetBkColor(hdc,GetSysColor(COLOR_WINDOW+1));
SetTextColor(hdc,GetSysColor(COLOR_WINDOWTEXT+5)); hwndButton[0] =CreateWindow ( TEXT("button"),TEXT ("绘制"),WS_CHILD | WS_VISIBLE |BS_PUSHBUTTON|WS_BORDER,
320, 15, 60, 25,hwnd, (HMENU) 0,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[1] =CreateWindow ( TEXT("button"),TEXT ("关闭"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|WS_BORDER,
320,50,60, 25,hwnd, (HMENU) 1,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[2] =CreateWindow ( TEXT("button"),TEXT ("颜色(&C)..."),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|WS_BORDER,
320,110, 60, 25,hwnd, (HMENU) 2, ((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[3] =CreateWindow ( TEXT("button"),TEXT ("线条(&L)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
40,45, 70, 20,hwnd, (HMENU) 3,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[4] =CreateWindow ( TEXT("button"),TEXT ("矩形(&R)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
120,45, 70, 20,hwnd, (HMENU) 4,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[5] =CreateWindow ( TEXT("button"),TEXT ("椭圆(&E)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
200,45, 70, 20,hwnd, (HMENU) 5, ((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[6] =CreateWindow ( TEXT("button"),TEXT ("配置选项"), WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
10,5,300, 80,hwnd,(HMENU) 6,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[7] =CreateWindow ( TEXT("button"),TEXT ("绘制结果"),WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
10,100,300, 200,hwnd,(HMENU) 7,((LPCREATESTRUCT) lParam)->hInstance,NULL) ; SendMessage (hwndButton[3], BM_SETCHECK, 1, 0);
return 0 ; case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
SelectObject(hdc,GetStockObject(NULL_PEN));
SelectObject (hdc, hbrush) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_COMMAND :
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
SetFocus(hwnd); //获得焦点窗口为hwnd;
switch (wmId)
{
case ID_A1:
break;
case ID_A2:
PostQuitMessage (0) ;
break;
case ID_A3:
break;
case ID_B1: //线条
break;
case ID_B2: //矩形
break;
case ID_B3: //椭圆
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
break ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}编译时出现这样的情况...帮帮忙,
error C2220: warning treated as error - no 'object' file generated
warning C4101: 'hpen' : unreferenced local variable
我是要做一画图程序,有三种图形可以选择,然后还可以选择颜色的,谢谢,
#define ID_A1 1
#define ID_A2 2
#define ID_A3 3
#define ID_B1 4
#define ID_B2 5
#define ID_B3 6
#define ID_C1 7
#define ID_C2 8
int flog=1;
int sharp=1; //1表示“线条”,2表示“矩形”,3表示“椭圆”
CHOOSECOLOR cc; // 颜色对话框定义
static COLORREF acrCustClr[16]; // 一个颜色的数组
static DWORD rgbCurrent; // 当前色彩LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
//LRESULT OnHotKey(WPARAM wParam,LPARAM lParam); //快捷键声明
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("绘画程序") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = NULL; //图标
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox ( NULL, TEXT ("This program requires Windows NT!"),szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName,TEXT ("绘图程序"),WS_BORDER|WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,
CW_USEDEFAULT,CW_USEDEFAULT, 400,350,NULL,NULL,hInstance,NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return (int)msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{ static HWND hwndButton[8] ;//按钮数组
int wmId, wmEvent;
HDC hdc ;
HPEN hpen;
HBRUSH hbrush;
PAINTSTRUCT ps ;
switch (message) { case WM_CREATE :
SetBkColor(hdc,GetSysColor(COLOR_WINDOW+1));
SetTextColor(hdc,GetSysColor(COLOR_WINDOWTEXT+5)); hwndButton[0] =CreateWindow ( TEXT("button"),TEXT ("绘制"),WS_CHILD | WS_VISIBLE |BS_PUSHBUTTON|WS_BORDER,
320, 15, 60, 25,hwnd, (HMENU) 0,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[1] =CreateWindow ( TEXT("button"),TEXT ("关闭"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|WS_BORDER,
320,50,60, 25,hwnd, (HMENU) 1,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[2] =CreateWindow ( TEXT("button"),TEXT ("颜色(&C)..."),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|WS_BORDER,
320,110, 60, 25,hwnd, (HMENU) 2, ((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[3] =CreateWindow ( TEXT("button"),TEXT ("线条(&L)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
40,45, 70, 20,hwnd, (HMENU) 3,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[4] =CreateWindow ( TEXT("button"),TEXT ("矩形(&R)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
120,45, 70, 20,hwnd, (HMENU) 4,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[5] =CreateWindow ( TEXT("button"),TEXT ("椭圆(&E)"),WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
200,45, 70, 20,hwnd, (HMENU) 5, ((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[6] =CreateWindow ( TEXT("button"),TEXT ("配置选项"), WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
10,5,300, 80,hwnd,(HMENU) 6,((LPCREATESTRUCT) lParam)->hInstance, NULL) ; hwndButton[7] =CreateWindow ( TEXT("button"),TEXT ("绘制结果"),WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
10,100,300, 200,hwnd,(HMENU) 7,((LPCREATESTRUCT) lParam)->hInstance,NULL) ; SendMessage (hwndButton[3], BM_SETCHECK, 1, 0);
return 0 ; case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
SelectObject(hdc,GetStockObject(NULL_PEN));
SelectObject (hdc, hbrush) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_COMMAND :
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
SetFocus(hwnd); //获得焦点窗口为hwnd;
switch (wmId)
{
case ID_A1:
break;
case ID_A2:
PostQuitMessage (0) ;
break;
case ID_A3:
break;
case ID_B1: //线条
break;
case ID_B2: //矩形
break;
case ID_B3: //椭圆
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
break ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}编译时出现这样的情况...帮帮忙,
error C2220: warning treated as error - no 'object' file generated
warning C4101: 'hpen' : unreferenced local variable
我是要做一画图程序,有三种图形可以选择,然后还可以选择颜色的,谢谢,
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货