Простое создание этой программы заключается в что:
- Скачать файл Program2015.rar
- Запустить его
- Открываем View->Solution Explorer->Program->Source Files->ProgramDlg.cpp , удаляем содержимое и копируем вместо него код приведённый ниже.// ProgramDlg.cpp : файл реализации//#include "stdafx.h"#include "Program.h"#include "ProgramDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// диалоговое окно CProgramDlgCProgramDlg::CProgramDlg(CWnd* pParent /*=NULL*/): CDialog(IDD_PROGRAM_DIALOG, pParent){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CProgramDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);fg = true;SetWindowTextW(L"Program");}BEGIN_MESSAGE_MAP(CProgramDlg, CDialog)ON_WM_PAINT()ON_WM_QUERYDRAGICON()END_MESSAGE_MAP()// обработчики сообщений CProgramDlgBOOL CProgramDlg::OnInitDialog(){CDialog::OnInitDialog();// Задает значок для этого диалогового окна. Среда делает это автоматически,// если главное окно приложения не является диалоговымSetIcon(m_hIcon, TRUE); // Крупный значокSetIcon(m_hIcon, FALSE); // Мелкий значок// TODO: добавьте дополнительную инициализациюreturn TRUE; // возврат значения TRUE, если фокус не передан элементу управления}// При добавлении кнопки свертывания в диалоговое окно нужно воспользоваться приведенным ниже кодом,// чтобы нарисовать значок. Для приложений MFC, использующих модель документов или представлений,// это автоматически выполняется рабочей областью.void CProgramDlg::OnPaint(){if (IsIconic()){CPaintDC dc(this); // контекст устройства для рисованияSendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// Выравнивание значка по центру клиентского прямоугольника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;// Нарисуйте значокdc.DrawIcon(x, y, m_hIcon);}else{CClientDC dc(this);GetClientRect(&rc);dx = abs(rc.right - rc.left) / 5;dy = abs(rc.bottom - rc.top) / 5;c[0] = 0x0000F9FF;c[1] = 0x0000F9FF;c[2] = 0x00FFC72D;c[3] = 0x00FFC72D;int x1,y1, x2, y2;int p, pp;pp = 0; p = 0;for (k = 0; k < 5; k++){for (i = 0; i < 5; i++){x1 = rc.left + k*dx;y1 = rc.top + i*dy;x2 = rc.left + (k + 1)*dx;y2 = rc.top + (i + 1)*dy;if (pp %2 == 0){p = 0;}else{p = 2;}// HPEN hPenOxy, hOldPen;hPenOxy = CreatePen(PS_SOLID, 8, c[p]);hOldPen = (HPEN)SelectObject(dc, hPenOxy);m = CreateSolidBrush(c[p]);oldm = (HBRUSH)dc.SelectObject(m);dc.Rectangle(x1, y1, x2, y2);pp++;}}SelectObject(dc, hOldPen);DeleteObject(hPenOxy);SelectObject(dc,oldm);DeleteObject(m);CDialog::OnPaint();}}// Система вызывает эту функцию для получения отображения курсора при перемещении// свернутого окна.HCURSOR CProgramDlg::OnQueryDragIcon(){return static_cast<HCURSOR>(m_hIcon);}
- Запускаем программу и получаем
- Программа работает
Источник сайт



