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

win32api реализация меню - C++

Восстановить пароль Регистрация
 
Toson
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 20
04.07.2012, 14:46     win32api реализация меню #1
Всем доброго времени суток!
Вопрос: как можно сделать отрисовку в основном окне(рис1)? Я сделал в зависимости от нажатой кнопки вызывается та или иная функция, но то, что делает ф-я открывается в другом диалоге, а преподавателю это не нравится( Вот собственно я понимаю, что это я сам так делаю, т.к. dialogbox юзаю. В общем нужно, чтобы с главного окна убирались кнопки("вывести описание", "формирование матрицы" т.д.)(ну или как-то перекрывались тем, что будет выводится по нажатию кнопки) и выводилось то, что выводится при использовании dialogbox, но в основном окне.
Спасибо!

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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    char buffer[30];
 
    switch (message)
    {
        case WM_CREATE:
            CreateWindow(L"button", L"Вывести описание схемы", WS_CHILD | WS_VISIBLE, 70, 60, 180, 50, hWnd, (HMENU)666, hInst, NULL);
            CreateWindow(L"button", L"Сформировать матрицу", WS_CHILD | WS_VISIBLE, 70, 130, 180, 50, hWnd, (HMENU)777, hInst, NULL);
            CreateWindow(L"button", L"Сформировать граф", WS_CHILD | WS_VISIBLE, 70, 200, 180, 50, hWnd, (HMENU)888, hInst, NULL);
            
        case WM_COMMAND:
 
            if (LOWORD(wParam) == 666)
            {
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd,  PrintSchm);
                break;
            }
            else if (LOWORD(wParam) == 777)
            {
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, PrintMatr);
                break;
            }
            else if(LOWORD(wParam) == 888)
            {
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, Graf);
                break;
            }
 
            wmId    = LOWORD(wParam);
            wmEvent = HIWORD(wParam);
            // Parse the menu selections:
        switch (wmId)
        {
        case ID_32775:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, PrintSchm);
            break;
        case ID_Menu:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, Graf);
            break;
        case ID_FILE_PRINTMATRIX:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, PrintMatr);
            break;
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        sprintf(buffer, "Летняя Практика 2012");
        TextOutA(hdc, 5, 5, (LPCSTR)buffer, strlen(buffer));
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Миниатюры
win32api реализация меню  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 14:46     win32api реализация меню
Посмотрите здесь:

C++ & Win32Api C++
Win32API C++
C++ С++ и Win32API
Получение параметра из потока win32api c++ C++
Реализация каждого отдельного пункта меню с условием C++
C++ Рисование c Win32API
C++ Реализация меню
C++ Реализация меню выбора арифметических действий

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

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

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