Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
#1

Изменение текста при нажатии пункта меню - C++

13.06.2012, 22:57. Просмотров 389. Ответов 0
Метки нет (Все метки)

Добрый вечер. Есть задача - доработать программу так, чтобы при нажатии на пункт меню Change появлялся один текст, а при повторном нажатии на этот же пункт меню, исходный текст заменялся на другой. и так циклично. Подскажите, где не так?

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
#include <windows.h>
#include "resource.h"
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){      //оператор обработки сообщений
    HDC hdc;
    PAINTSTRUCT ps;
    bool a = true;
    switch(uMsg){
        case WM_CLOSE:
            DestroyWindow(hWnd);
            return 0;
        case WM_DESTROY:
            PostQuitMessage(7);
            return 0;
        case WM_COMMAND:
            switch(LOWORD(wParam)){
        case ID_FILE_EXIT:
            if(MessageBox(hWnd,"Вы действительно хотите выйти?","Предупреждение",MB_YESNO) == IDYES)
                SendMessage(hWnd,WM_CLOSE,0,0);
            //DestroyWindow(hWnd);
            return 0;
        case ID_ABOUT:
            MessageBox(hWnd,"пользователь","Информация",MB_OK);
            return 0;
            }
        case ID_CHANGE:
            int b = 1;
            if (b == 1){
                hdc = GetDC(hWnd);
                TextOut(hdc, 20, 20, "было", 4);
                ReleaseDC(hWnd, hdc);
                b--;
            }
            else{
                hdc = GetDC(hWnd);
                TextOut(hdc, 40, 40, "стало", 5);
                ReleaseDC(hWnd, hdc);
                b++;
            }
    }
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
 
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    //1. Регистрация класса окна
 
    WNDCLASS wc={0};
    wc.style = CS_VREDRAW|CS_HREDRAW;                                       //битовая маска
    wc.lpfnWndProc = WndProc;                                               //адрес оконной процедуры
    //wc.cbClsExtra;
    wc.cbWndExtra = sizeof(HWND);
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon(hInstance,IDI_APPLICATION);
    wc.hCursor = LoadCursor(hInstance, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)GetStockObject(DKGRAY_BRUSH);
    wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
    wc.lpszClassName = "My window";
 
    if (!RegisterClass(&wc))                                                //проверка на регистрацию
        return 0;
    //2. Создание самого класса окна
 
    HWND hwnd = CreateWindow(   wc.lpszClassName,
                                "My window",
                                WS_OVERLAPPEDWINDOW,//|WS_HSCROLL|WS_VSCROLL,
                                CW_USEDEFAULT,                              //x
                                0,                                          //y
                                CW_USEDEFAULT ,                             //Width
                                0,                                          //Height
                                NULL,
                                NULL,
                                hInstance,
                                NULL);
    if (!hwnd)                                                              //проверка на создание окна
        return 0;
    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);                                                     // handle to window
 
    //3. Очередь сообщений
    MSG ms;
    while (GetMessage(&ms,NULL,NULL,NULL)){
        DispatchMessage(&ms);
    }
 
    return ms.wParam;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение текста при нажатии пункта меню (C++):

Движение точек при выборе пункта меню - C++
Здравствуйте! Как можно сделать так, как в этой программе, когда выбираешь первый пункт меню, а затем нажимаешь function one, чтобы так...

Очистить строку при каждом выполнении пункта меню - C++
Вот фрагмент из программы, подскажите кто может, как можно очистить строку b при каждом выполнении 2-го пункта меню, а то не правильно...

Создать текстовое меню, в котором при выборе первого пункта вычисляется значения квадрата введенного числа - C++
Как создать текстовое меню, в котором при выборе первого пункта вычисляется значения квадрата введенного числа, при выборе второго пункта -...

Изменение положения формы при нажатии кнопки - C++
На форме есть кнопка jump. Как сделать так, чтобы при нажатии на неё один раз окно меняло место положение, а при нажатие второй раз...

Последовательный сдвиг текста при нажатии клавиши - C++
Добрый день. Прошу помощи в решении лабы. Задание: Составить программу, последовательно сдвигающую текст на экране ПЭВМ вверх на одну...

Реализовать в консольном режиме изменение координат элемента в матрице при нажатии стрелки вверх - C++
Как в консольном режиме реализовать, что координаты элемента в матрице меняются при нажатии стрелки вверх?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2012, 22:57
Привет! Вот еще темы с ответами:

Надо чтоб при нажатии на свой пункт меню открывался новый док. - C++
Значит в MDI проекте, добовляю я свой пункт меню, и надо чтоб при нажатии на него открывался новый док, тоже что и File-&gt;New. Подскажите...

Изменение цвета текста/фона при консольном выводе - C++
Доброго времени суток. Как изменить цвет фона/текста в консоли с++ в формате RGB? Я знаю, что есть подобная фича в windows.h, но это не...

Изменение цвета текста и фона при консольном выводе - C++
Всем привет. Помогите решить мою проблему. Как менять цвет текста и фона при консольном выводе. Чё-то конкретного примера я не нашёл. Не...

Отображение пункта меню по значению переменной - C++
Доброго времени суток. Снова столкнулся с проблемой. Предположим, есть переменная: int showsite; И пункт меню: MENUITEM &quot;&amp;Visit our...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.