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

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

Восстановить пароль Регистрация
 
Rabbit13245
28 / 28 / 2
Регистрация: 21.04.2012
Сообщений: 282
13.06.2012, 22:57     Изменение текста при нажатии пункта меню #1
Добрый вечер. Есть задача - доработать программу так, чтобы при нажатии на пункт меню 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 22:57     Изменение текста при нажатии пункта меню
Посмотрите здесь:

C++ последовательный сдвиг текста при нажатии клавиши
C++ Изменение цвета текста и фона при консольном выводе
C++ Надо чтоб при нажатии на свой пункт меню открывался новый док.
C++ как програмно получить название пункта меню
C++ Движение точек при выборе пункта меню
Реализация каждого отдельного пункта меню с условием C++
Реализовать в консольном режиме изменение координат элемента в матрице при нажатии стрелки вверх C++
Изменение положения формы при нажатии кнопки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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