#include <windows.h>
#include <math.h>
#define pi 3.14159265359
LONG FAR PASCAL WindowProc(HWND,UINT,WPARAM,LPARAM);
char szProgName[]="ProgName";
int PASCAL WinMain(hInst,hPreInst,lpszCmdLine,nCmdShow)
HINSTANCE hInst,hPreInst;
LPSTR lpszCmdLine;
int nCmdShow;
{
HWND hWnd;
MSG msg;
WNDCLASS WC23SWA;
if(!hPreInst)
{
WC23SWA.lpszClassName=szProgName;
WC23SWA.hInstance=hInst;
WC23SWA.lpfnWndProc=WindowProc;
WC23SWA.hCursor=LoadCursor(NULL,IDC_ARROW);
WC23SWA.hIcon=NULL;
WC23SWA.lpszMenuName=NULL;
WC23SWA.hbrBackground=GetStockObject(WHITE_BRUSH);
WC23SWA.style=CS_HREDRAW|CS_VREDRAW;
WC23SWA.cbClsExtra=0;
WC23SWA.cbWndExtra=0;
if(!RegisterClass(&WC23SWA))
return FALSE;
} hWnd=CreateWindow(szProgName,"Simple Windows Application",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND)NULL,(HMENU)NULL,(HANDLE)hInst,(LPSTR)NULL);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,(HWND)NULL,(UINT)NULL,(UINT)NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}
LONG PASCAL WindowProc(hWnd,messg,wParam,lParam)
HWND hWnd;
UINT messg;
WPARAM wParam;
LPARAM lParam;
{
PAINTSTRUCT ps;
HDC hdc;
int i;
double y;
switch(messg)
{
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
/*------------------------------------*/
MoveTo(hdc,0,1); // ???????,????????! ////关键是这一句
LineTo(hdc,639,429);
TextOut(hdc,55,20,"<-this is a line",16); Chord(hdc,550,20,630,80,555,25,625,70);
TextOut(hdc,420,30,"<-this is a Chord",17);
Ellipse(hdc,200,200,275,250);
TextOut(hdc,210,215,"<-this is a Ellipse ",19); Pie(hdc,300,50,400,150,300,50,300,100);
TextOut(hdc,350,80,"<-this is a pie",15);
MoveTo(hdc,100,50);
LineTo(hdc,100,350);
MoveTo(hdc,100,200);
LineTo(hdc,500,200);
MoveTo(hdc,100,200);
for(i=0;i<400;i++)
{
y=120.0*sin(pi*i*(360.0/400.0/180.0));
LineTo(hdc,i+100,(int)(200.0-y));
}
/*------------------------------------*/ ValidateRect(hWnd,NULL);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd,messg,wParam,lParam));
break;
}
return(0l);
}
#include <math.h>
#define pi 3.14159265359
LONG FAR PASCAL WindowProc(HWND,UINT,WPARAM,LPARAM);
char szProgName[]="ProgName";
int PASCAL WinMain(hInst,hPreInst,lpszCmdLine,nCmdShow)
HINSTANCE hInst,hPreInst;
LPSTR lpszCmdLine;
int nCmdShow;
{
HWND hWnd;
MSG msg;
WNDCLASS WC23SWA;
if(!hPreInst)
{
WC23SWA.lpszClassName=szProgName;
WC23SWA.hInstance=hInst;
WC23SWA.lpfnWndProc=WindowProc;
WC23SWA.hCursor=LoadCursor(NULL,IDC_ARROW);
WC23SWA.hIcon=NULL;
WC23SWA.lpszMenuName=NULL;
WC23SWA.hbrBackground=GetStockObject(WHITE_BRUSH);
WC23SWA.style=CS_HREDRAW|CS_VREDRAW;
WC23SWA.cbClsExtra=0;
WC23SWA.cbWndExtra=0;
if(!RegisterClass(&WC23SWA))
return FALSE;
} hWnd=CreateWindow(szProgName,"Simple Windows Application",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND)NULL,(HMENU)NULL,(HANDLE)hInst,(LPSTR)NULL);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,(HWND)NULL,(UINT)NULL,(UINT)NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}
LONG PASCAL WindowProc(hWnd,messg,wParam,lParam)
HWND hWnd;
UINT messg;
WPARAM wParam;
LPARAM lParam;
{
PAINTSTRUCT ps;
HDC hdc;
int i;
double y;
switch(messg)
{
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
/*------------------------------------*/
MoveTo(hdc,0,1); // ???????,????????! ////关键是这一句
LineTo(hdc,639,429);
TextOut(hdc,55,20,"<-this is a line",16); Chord(hdc,550,20,630,80,555,25,625,70);
TextOut(hdc,420,30,"<-this is a Chord",17);
Ellipse(hdc,200,200,275,250);
TextOut(hdc,210,215,"<-this is a Ellipse ",19); Pie(hdc,300,50,400,150,300,50,300,100);
TextOut(hdc,350,80,"<-this is a pie",15);
MoveTo(hdc,100,50);
LineTo(hdc,100,350);
MoveTo(hdc,100,200);
LineTo(hdc,500,200);
MoveTo(hdc,100,200);
for(i=0;i<400;i++)
{
y=120.0*sin(pi*i*(360.0/400.0/180.0));
LineTo(hdc,i+100,(int)(200.0-y));
}
/*------------------------------------*/ ValidateRect(hWnd,NULL);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd,messg,wParam,lParam));
break;
}
return(0l);
}
解决方案 »
- 求助,在VC++程序里用ShellExecute调用其它工具后,怎么查看那个工具的返回值?
- 图片基色处理问题
- ListCtrl+CheckBox问题
- 如何获取USB鼠标数据
- 请教:OnDraw函数在以View为基类的函数中,初始化会自动执行;但是在以ListView为基类的函数中却不执行,这是啥原因?
- 有关发送大文件的问题
- 怎样用vc在word中插入一个图片,要在“指定位置”,比如第3段以后
- 为什么我写的ftp文件遍历搜索函数运行不了?
- 用什么函数能取得当前系统正在使用的颜色
- 关于windows编程的窗口过程函数的问题~
- 怎样关闭输入法使其一直是英文状态!
- 再vc.net 2003调试MFC程序的问题!
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
楼主为什么要用MoveTo?好像没有这个函数哦!
MoveTo是windows3.X下的.
#include <windows.h>
#include <math.h>
#define pi 3.14159265359
LONG FAR PASCAL WindowProc(HWND,UINT,WPARAM,LPARAM);
char szProgName[]="ProgName";//HINSTANCE hInst,hPreInst;
//LPSTR lpszCmdLine;
//int nCmdShow;int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow)
{
HWND hWnd;
MSG msg;
WNDCLASS WC23SWA;
if(!hPreInst)
{
WC23SWA.lpszClassName=szProgName;
WC23SWA.hInstance=hInst;
WC23SWA.lpfnWndProc=WindowProc;
WC23SWA.hCursor=LoadCursor(NULL,IDC_ARROW);
WC23SWA.hIcon=NULL;
WC23SWA.lpszMenuName=NULL;
WC23SWA.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WC23SWA.style=CS_HREDRAW|CS_VREDRAW;
WC23SWA.cbClsExtra=0;
WC23SWA.cbWndExtra=0;
if(!RegisterClass(&WC23SWA))
return FALSE;
} hWnd=CreateWindow(szProgName,"Simple Windows Application",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND)NULL,(HMENU)NULL, hInst, (LPSTR)NULL);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,(HWND)NULL,(UINT)NULL,(UINT)NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return int(msg.wParam);
}//HWND hWnd;
//UINT messg;
//WPARAM wParam;
//LPARAM lParam;LONG PASCAL WindowProc(HWND hWnd, UINT messg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
int i;
double y;
switch(messg)
{
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
/*------------------------------------*/
MoveToEx(hdc, 0, 1, NULL); // ???????,????????! ////关键是这一句
LineTo(hdc,639,429);
TextOut(hdc,55,20,"<-this is a line",16); Chord(hdc,550,20,630,80,555,25,625,70);
TextOut(hdc,420,30,"<-this is a Chord",17);
Ellipse(hdc,200,200,275,250);
TextOut(hdc,210,215,"<-this is a Ellipse ",19); Pie(hdc,300,50,400,150,300,50,300,100);
TextOut(hdc,350,80,"<-this is a pie",15);
MoveToEx(hdc, 100, 50, NULL);
LineTo(hdc,100,350);
MoveToEx(hdc,100,200, NULL);
LineTo(hdc,500,200);
MoveToEx(hdc,100,200, NULL);
for(i=0;i<400;i++)
{
y=120.0*sin(pi*i*(360.0/400.0/180.0));
LineTo(hdc,i+100,(int)(200.0-y));
}
/*------------------------------------*/ ValidateRect(hWnd,NULL);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return LONG(DefWindowProc(hWnd,messg,wParam,lParam));
break;
}
return(0l);
}
#define WINVER 0X300
是什么意思???