Суть проблемы: рисуем линии, сначала все рисуется нормально, но через некоторое время линии становятся стандартными, т.е.
, черными с шириной = 1. Та
кже кнопки меню станов
ятся черным и "просвечиваются" только при наведении курсора. При этом ошибок никаких нет
, прог
рамма работает (кроме того
, что отображает все не так). Делал проект вин32
Помогите, пожалуйста, решить проблему
Вот часть кода, а в приложении весь код:
#include "stdafx.h"
#include "game.h"
#include <cstdlib>
using std::srand;
using std::rand;
#include <time.h>
#define MAX_LOADSTRING 100
// Глобальные переменные:
HINSTANCE hInst; // текущий экземпляр
TCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
TCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
// Отправить объявления функций, включенных в этот модуль кода:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void DrawDiagram(HWND hWnd, HDC hdc,int [11][11]);
int Mas[11][11]; // массив шариков
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
SetTimer(hWnd, 1, 500, NULL);
RECT rect;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
DrawDiagram( hWnd, hdc, Mas);
DrawCursor( hWnd, hdc, kursor);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
void DrawDiagram(HWND hWnd, HDC hdc,int [11][11])
{
RECT rect;
GetClientRect(hWnd, &rect);
const int xVE = rect.right - rect.left;
const int yVE = rect.bottom - rect.top;
int x,y;
SetMapMode(hdc, MM_ISOTROPIC);
SetWindowExtEx(hdc, xVE, yVE, NULL);
SetViewportExtEx(hdc, xVE, -yVE, NULL); //ctnrf
SetViewportOrgEx(hdc, 0, yVE, NULL);
HPEN hPen0 = CreatePen(PS_SOLID, 3, RGB(0, 160, 0));
HPEN hOldPen = (HPEfor(int t = 0; t <= 10; ++t)
for(int t = 0; t <= 10; ++t)
{
x=xVE*t/10;
y=yVE*t/10;
MoveToEx(hdc, x, 0, NULL); //перемещаемся в заданную точку
LineTo(hdc, x, yVE); //рисуем туда линию
MoveToEx(hdc, 0, y, NULL); //перемещаемся в заданную точку
LineTo(hdc, xVE, y); //рисуем туда линию
}
}