Форум программистов, компьютерный форум CyberForum.ru

Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.почему неработает программа? - C++

Войти
Регистрация
Восстановить пароль
 
ksusha2010
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 2
17.10.2013, 09:18     Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.почему неработает программа? #1
2.2 Работа с кнопками и цветом
Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.
Задание
1. При каждом изменении цвета выводить значения его составляющих.
2. Вывод осуществлять в элемент управления Static.
3. Вывод осуществлять в элемент редактирования Edit.
4. Вывод осуществлять при помощи функции TextOut.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 09:18     Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.почему неработает программа?
Посмотрите здесь:

C++ неработает программа
Неработает программа переписывания текста C++
C++ почему неработает код???
неработает программа C++
Написать консольное приложение, которое позволяет рассчитывать длину гипотенузы по теореме Пифагора. C++
Написать консольное приложение, которое позволяет рассчитывать длину гипотенузы по теореме Пифагора. C++
C++ Программа для создания дипломов (диплом мастер, который позволяет печатать дипломы ВПО и СПО)
C++ Есть фигура, при движении она должна изменять цвет
Приложение которое позволяет выполнять вычисления значений сложной функции C++
C++ Строка: Найти цвет/цвета предмета, введенного с клавиатуры.
Приложение для игры в монополию. Сохраняет имена игроков и их баланс в структуру. Позволяет изменять баланс C++
C++ Почему при вводе элементов массива, программа прекращает работу или работает не так, как ожидается?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ksusha2010
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 2
17.10.2013, 09:21  [ТС]     Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.почему неработает программа? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <windows.h>
 
#define ID_Red1 1
#define ID_Red2 2
#define ID_Green1 3
#define ID_Green2 4
#define ID_Blue1 5
#define ID_Blue2 6
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd, hRed1, hRed2, hGreen1,hGreen2,hBlue1,hBlue2 ;
   hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной //переменной
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
    200, 200, 500, 320, NULL, NULL, hInstance, NULL);
   hRed1 = CreateWindow("button", "красный +",     WS_CHILD | WS_VISIBLE ,
    20, 20, 180, 30, hWnd, (HMENU) ID_Red1, hInstance, NULL);
   hRed2 = CreateWindow("button", "красный -",     WS_CHILD | WS_VISIBLE ,
    20, 60, 180, 30, hWnd, (HMENU) ID_Red2, hInstance, NULL);
   hGreen1 = CreateWindow("button", "зеленый +",     WS_CHILD | WS_VISIBLE ,
    20, 100, 180, 30, hWnd, (HMENU) ID_Green1, hInstance, NULL);
   hGreen2 = CreateWindow("button", "зеленый -",     WS_CHILD | WS_VISIBLE ,
    20, 140, 180, 30, hWnd, (HMENU) ID_Green2, hInstance, NULL);
   hBlue1 = CreateWindow("button", "синий +",     WS_CHILD | WS_VISIBLE ,
    20, 180, 180, 30, hWnd, (HMENU) ID_Blue1, hInstance, NULL);
   hBlue2= CreateWindow("button", "синий -",     WS_CHILD | WS_VISIBLE ,
    20, 220, 180, 30, hWnd, (HMENU) ID_Blue2, hInstance, NULL);
 
   if (!hWnd)
   {
      return FALSE;
   }
 
   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);
 
   return TRUE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    static short Red=255,Green=255,Blue=255;// составляющие цвета
      static COLORREF mycolor=RGB(Red,Green,Blue);//текущий цвет
    HBRUSH hBr;//кисть
    RECT Rect;//прямоугольник для окрашивания
    Rect.left=250;
    Rect.top=60;
    Rect.right=440;
    Rect.bottom=205;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню или сообщение от дочернего окна
        switch (wmId)
    {     case ID_Red1: Red+=5;if(Red>255)Red=255;
            break;
        case ID_Red2: Red-=5;if(Red<0)Red=0;
            break;
          case ID_Green1: Green+=5;if(Green>255)Green=255;
            break;
        case ID_Green2: Green-=5;if(Green<0)Green=0;
            break;
        case ID_Blue1: Blue+=5;if(Blue>255)Blue=255;
            break;
        case ID_Blue2: Blue-=5;if(Blue<0)Blue=0;
            break;
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        }
    // создадим цвет
       mycolor=RGB(Red,Green,Blue);
    // помечаем область, соответствующую прямоугольнику, требующей обновления
     InvalidateRect(hWnd,&Rect,TRUE);
       UpdateWindow(hWnd);
    break;
 
 
    case WM_PAINT:
//получаем контекст для рисования
        hdc = BeginPaint(hWnd, &ps);
//создаем сплошную кисть нужного цвета
        hBr=CreateSolidBrush(mycolor);
//окрашиваем прямоугольник Rect кистью hBr
        FillRect(hdc,&Rect,hBr);
//создаем сплошную кисть черного цвета
        hBr=CreateSolidBrush(RGB(0,0,0));
//рисуем рамку вокруг прямоугольника
          FrameRect(hdc,&Rect,hBr);
//заканчиваем рисовать
        EndPaint(hWnd, &ps);
        break;
 
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Yandex
Объявления
17.10.2013, 09:21     Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета.почему неработает программа?
Ответ Создать тему
Опции темы

Текущее время: 03:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru