飘凌大杂烩计算机科学与技术 → Visual C++练习题
查看完整版本:Visual C++练习题
2009/2/24 20:46:12

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;
}

2009/2/24 21:36:52

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);
}

2009/3/3 21:49:59

例: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!");

}

2009/3/10 17:06:35

例 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);

2009/3/10 22:43:03

例 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); 

2009/3/29 11:10:13

demo32.rar

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);   

}

2009/3/29 11:10:44

demo33.rar

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);
  
 }
}

2009/3/29 11:11:52

demo3435.rar

demo3435.rar

2009/3/29 11:12:34

demo41.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();
 }

2009/3/31 23:00:50

demo42.rar

demo42

Powered by BBSXP 2007 ACCESS © 1998-2025
Processed in 0.01 second(s)