demo21
#include "windows.h"
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
MessageBox(NULL,TEXT("您好,欢迎来到 Visual C++"),TEXT("Welcome"),0);
return 0;
}
demo22
#include "windows.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口";
char lpszTitle[]="My_Windows";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
HDC hDC;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT PtStr;
case WM_PAINT:
hDC=BeginPaint(hwnd,&PtStr);
SetMapMode(hDC,MM_ANISOTROPIC);
hPen=(HPEN)GetStockObject(BLACK_PEN);
hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
SelectObject(hDC,hBrush);
SelectObject(hDC,hPen);
RoundRect(hDC,50,120,100,200,15,15);
hBrush=(HBRUSH)GetStockObject(HOLLOW_BRUSH);
SelectObject(hDC,hBrush);
Ellipse(hDC,150,50,200,150);
hBrush=(HBRUSH)GetStockObject(HOLLOW_BRUSH);
SelectObject(hDC,hBrush);
Pie(hDC,250,50,300,100,250,50,300,50);
EndPaint(hwnd,&PtStr);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return(0);
}
例:2.3
void CTextView::OnDraw(CDC* pDC)
{
CTextDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CString string1;
CString string2;
CPoint point1;
CPoint point2;
string1="读者朋友们,大家好!这里是Text程序。";
string2="祝你早日掌握Visual C++6.0!"; point1.x=0;
point1.y=10;
point2.x=30;
point2.y=40;
pDC->TextOut(point1.x,point1.y,string1);
pDC->TextOut(point2.x,point2.y,string2);
pDC->TextOut(100,100,"Hello eveyone!");
}
例 3.1
CPen * pOldPen;
CPen SolidPen(PS_SOLID,1,RGB(255,0,0));
CPen DashPen(PS_DASH,1,RGB(255,0,0));
CPen DotPen(PS_DOT,1,RGB(255,0,0));
CPen DashDotPen(PS_DASHDOTDOT,1,RGB(255,0,0));
CPen SolidPen10(PS_SOLID,10,RGB(255,0,0));
CPen SolidPen20(PS_SOLID,20,RGB(255,0,0));
CPen SolidPen30(PS_SOLID,30,RGB(255,0,0));
pOldPen=pDC->SelectObject(&SolidPen);
pDC->TextOut(30,20,"Solid");
pDC->MoveTo(120,30);
pDC->LineTo(250,30);
pDC->SelectObject(&DashPen);
pDC->TextOut(30,20,"Dash");
pDC->MoveTo(120,60);
pDC->LineTo(250,60);
pDC->SelectObject(&DotPen);
pDC->TextOut(30,80,"Dot");
pDC->MoveTo(120,90);
pDC->LineTo(250,90);
pDC->SelectObject(&DashDotPen);
pDC->TextOut(30,110,"DashDot");
pDC->MoveTo(120,120);
pDC->LineTo(250,120);
pDC->SelectObject(&DashDotPen);
pDC->TextOut(30,140,"DashDotDot");
pDC->MoveTo(120,150);
pDC->LineTo(250,150);
pDC->SelectObject(&SolidPen10);
pDC->TextOut(30,170,"width=10");
pDC->MoveTo(120,180);
pDC->LineTo(250,180);
pDC->SelectObject(&SolidPen20);
pDC->TextOut(30,200,"width=20");
pDC->MoveTo(120,210);
pDC->LineTo(250,210);
pDC->SelectObject(&SolidPen30);
pDC->TextOut(30,230,"width=30");
pDC->MoveTo(120,240);
pDC->LineTo(250,240);
pDC->SelectObject(&DashPen);
CRect rect(320,20,580,280);
pDC->Rectangle(rect);
pDC->SelectObject(&SolidPen);
pDC->Ellipse(rect);
for(int k=0;k<6;k++)
{
rect.DeflateRect(20,0);
pDC->Ellipse(rect);
}
pDC->SelectObject(pOldPen);
例 3.2
CRect rect;
CBrush * pOldBrush;
rect.SetRect(100,20,180,100);
CBrush brush1(RGB(255,0,0));
pOldBrush=pDC->SelectObject(&brush1);
pDC->TextOut(15,20,"红色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,120,180,200);
CBrush brush2(RGB(0,255,0));
pDC->SelectObject(&brush2);
pDC->TextOut(15,120,"绿色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,220,180,300);
CBrush brush3(RGB(0,0,255));
pDC->SelectObject(&brush3);
pDC->TextOut(15,220,"蓝色画刷");
pDC->Rectangle(rect);
rect.SetRect(300,20,380,100);
CBrush brush4(HS_BDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush4);
pDC->TextOut(215,20,"剖 面 线");
pDC->TextOut(215,50,"从做到右");
pDC->Rectangle(rect);
rect.SetRect(300,120,380,200);
CBrush brush5(HS_CROSS,RGB(255,0,0));
pDC->SelectObject(&brush5);
pDC->TextOut(215,120,"网 格 线");
pDC->Rectangle(rect);
rect.SetRect(300,220,380,300);
CBrush brush6(HS_DIAGCROSS,RGB(255,0,0));
pDC->SelectObject(&brush6);
pDC->TextOut(215,220,"45度网格线");
pDC->Rectangle(rect);
rect.SetRect(500,20,580,100);
CBrush brush7(HS_FDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush7);
pDC->TextOut(415,20,"剖 面 线");
pDC->TextOut(415,50,"(从右到左)");
pDC->Rectangle(rect);
rect.SetRect(500,120,580,200);
CBrush brush8(HS_HORIZONTAL,RGB(255,0,0));
pDC->SelectObject(&brush8);
pDC->TextOut(415,120,"水平阴影线");
pDC->Rectangle(rect);
rect.SetRect(500,220,580,300);
CBrush brush9(HS_VERTICAL,RGB(255,0,0));
pDC->SelectObject(&brush9);
pDC->TextOut(415,220,"垂直阴影线");
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
demo32
void CDemo32View::OnDraw(CDC* pDC)
{
CDemo32Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;
CBrush * pOldBrush;
rect.SetRect(100,20,180,100);
CBrush brush1(RGB(255,0,0));
pOldBrush=pDC->SelectObject(&brush1);
pDC->TextOut(15,20,"红色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,120,180,200);
CBrush brush2(RGB(0,255,0));
pDC->SelectObject(&brush2);
pDC->TextOut(15,120,"绿色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,220,180,300);
CBrush brush3(RGB(0,0,255));
pDC->SelectObject(&brush3);
pDC->TextOut(15,220,"蓝色画刷");
pDC->Rectangle(rect);
rect.SetRect(300,20,380,100);
CBrush brush4(HS_BDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush4);
pDC->TextOut(215,20,"剖 面 线");
pDC->TextOut(215,50,"从做到右");
pDC->Rectangle(rect);
rect.SetRect(300,120,380,200);
CBrush brush5(HS_CROSS,RGB(255,0,0));
pDC->SelectObject(&brush5);
pDC->TextOut(215,120,"网 格 线");
pDC->Rectangle(rect);
rect.SetRect(300,220,380,300);
CBrush brush6(HS_DIAGCROSS,RGB(255,0,0));
pDC->SelectObject(&brush6);
pDC->TextOut(215,220,"45度网格线");
pDC->Rectangle(rect);
rect.SetRect(500,20,580,100);
CBrush brush7(HS_FDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush7);
pDC->TextOut(415,20,"剖 面 线");
pDC->TextOut(415,50,"(从右到左)");
pDC->Rectangle(rect);
rect.SetRect(500,120,580,200);
CBrush brush8(HS_HORIZONTAL,RGB(255,0,0));
pDC->SelectObject(&brush8);
pDC->TextOut(415,120,"水平阴影线");
pDC->Rectangle(rect);
rect.SetRect(500,220,580,300);
CBrush brush9(HS_VERTICAL,RGB(255,0,0));
pDC->SelectObject(&brush9);
pDC->TextOut(415,220,"垂直阴影线");
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
}
demo33.rar
#include "math.h"
void CDemo33View::OnDraw(CDC* pDC)
{
CDemo33Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
for(int i=0;i<7;i++)
{
CFont NewFont;
NewFont.CreateFont(30-i,0,300*i,0,400,FALSE,FALSE,0,
DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_SWISS,"Arial");
CFont * pOldFont=(CFont * )pDC->SelectObject(&NewFont);
pDC->TextOut(100*cos(3.1415926/6.0*i)+300,-100*sin(3.1415926/6.0*i)+300,"文字的输出结果");
pDC->SelectObject(pOldFont);
}
}
demo3435.rar
demo41.rar
void CMyDialogDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
//CDialog::OnPaint();
CPaintDC dc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(70,50,"这是一个对话框应用程序");
CDialog::OnPaint();
}
demo42