更新时间:2015-12-16 17:03:53浏览次数:1+次
BOOL Pie( HDC hdc, // handle to DC
int nLeftRect, // 矩形左上角x坐标
int nTopRect, // 矩形左上角y坐标
int nRightRect, // 矩形右下角x坐标
int nBottomRect, // 矩形右下角y坐标
int nXRadial1, // 第一条从中心到起始弧的线与矩形相交的点的x坐标
int nYRadial1, // 第一条从中心到起始弧的线与矩形相交的点的y坐标
int nXRadial2, // 第二条从中心到起始弧的线与矩形相交的点的x坐标
int nYRadial2 // 第二条从中心到起始弧的线与矩形相交的点的y坐标
Pie函数参数原理图如下:#include "windows.h"
#include <Windowsx.h>//GET_X_LPARAM,GET_Y_LPARAM宏需要这个头文件
#include <tchar.h>
// - 项目是Unicode字符集
LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
TCHAR Info[100]=_T("某年某月的搜索引擎市场占用率饼状图 - 【C++技术网http://www.cjjjs.com】");
HBRUSH hbrush;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);
SetBkMode(hdc,TRANSPARENT);
hbrush = CreateSolidBrush(RGB(105,100,0));
SelectObject(hdc,hbrush);
Pie(hdc,0,0,400,400,80,0,0,200);
DeleteObject(hbrush);
SetTextColor(hdc,RGB(255,255,255));
TextOut(hdc,35,150,_T("360搜索"),lstrlen(_T("360搜索")));
TextOut(hdc,35,170,_T("市场份额:20%"),lstrlen(_T("市场份额:20%")));
hbrush = CreateSolidBrush(RGB(200,255,10));
SelectObject(hdc,hbrush);
Pie(hdc,0,0,400,400,0,200,0,280);
DeleteObject(hbrush);
SetTextColor(hdc,RGB(0,0,0));
TextOut(hdc,10,200,_T("其他搜索"),lstrlen(_T("其他搜索")));
TextOut(hdc,10,220,_T("市场份额:10%"),lstrlen(_T("市场份额:10%")));
hbrush = CreateSolidBrush(RGB(200,180,255));
SelectObject(hdc,hbrush);
Pie(hdc,0,0,400,400,0,280,400,200);
DeleteObject(hbrush);
SetTextColor(hdc,RGB(0,0,0));
TextOut(hdc,210,300,_T("百度搜索"),lstrlen(_T("百度搜索")));
TextOut(hdc,210,320,_T("市场份额:40%"),lstrlen(_T("市场份额:40%")));
hbrush = CreateSolidBrush(RGB(160,100,255));
SelectObject(hdc,hbrush);
Pie(hdc,0,0,400,400,400,200,80,0);
DeleteObject(hbrush);
SetTextColor(hdc,RGB(0,0,0));
TextOut(hdc,210,100,_T("搜狗搜索"),lstrlen(_T("搜狗搜索")));
TextOut(hdc,210,120,_T("市场份额:30%"),lstrlen(_T("市场份额:30%")));
SetTextColor(hdc,RGB(255,255,0));
TextOut(hdc,50,410,Info,lstrlen(Info));
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrev,LPSTR lpCmd,int iShow)
{
TCHAR ClassName[] = _T("MyClass");
TCHAR title1[] = _T("C++技术网http://www.cjjjs.com");
WNDCLASS wndClass;
wndClass.cbClsExtra=0;
wndClass.cbWndExtra=0;
wndClass.hbrBackground= (HBRUSH)GetStockObject(BLACK_BRUSH);
wndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndClass.hInstance = hInstance;
wndClass.lpfnWndProc = WinProc;
wndClass.lpszClassName = ClassName;
wndClass.lpszMenuName=NULL;
wndClass.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wndClass))
{
return 0;
}
HWND hwnd = CreateWindow(ClassName,title1,WS_OVERLAPPEDWINDOW,0,0,600,600,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
相关资讯