Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 8
1

Создание дочернего окна приложения

18.10.2019, 20:35. Просмотров 373. Ответов 3


Как создать дочернее окно при нажатии на кнопку???
Не получается создать дочернее окно, чтобы оно открывалось при нажатии на кнопку в главном окне приложения, а главное окно после открытия дочернего сворачивалось.
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
#if defined(UNICODE) && !defined(_UNICODE)
    #define _UNICODE
#elif defined(_UNICODE) && !defined(UNICODE)
    #define UNICODE
#endif
 
#include <tchar.h>
#include <windows.h>
 
 
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
 
TCHAR szClassName[ ] = _T("CodeBlocksWindowsApp");
int WINAPI WinMain (HINSTANCE hThisInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpszArgument,
                     int nCmdShow)
{
    HWND hwnd;              
    MSG messages;          
    WNDCLASSEX wincl;        
 
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      
    wincl.style = CS_DBLCLKS;                
    wincl.cbSize = sizeof (WNDCLASSEX);
 
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                
    wincl.cbClsExtra = 0;                      
    wincl.cbWndExtra = 0;                  
 
    wincl.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
 
    if (!RegisterClassEx (&wincl))
        return 0;
 
    hwnd = CreateWindowEx (
           0,                   
           szClassName,         
           _T("Ввод данных проверяющего"),       
           WS_SYSMENU, 
           CW_USEDEFAULT,       
           CW_USEDEFAULT,      
           450,                 
           270,                 
           HWND_DESKTOP,       
           NULL,               
           hThisInstance,       
           NULL                 
           );
 
    ShowWindow (hwnd, nCmdShow);
 
    while (GetMessage (&messages, NULL, 0, 0))
    {
       
        TranslateMessage(&messages);
      
        DispatchMessage(&messages);
    }
 
    return messages.wParam;
}
 
 
#define ID_BUTTON 1
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                 
    { 
    case WM_CREATE: { 
CreateWindow (TEXT("STATIC"), TEXT("Введите ФИО ( Например: Иванов И.И)"), WS_VISIBLE | WS_CHILD, 
30, 30, 300, 30, 
hwnd, (HMENU) NULL, NULL, NULL ); 
 
CreateWindow (TEXT("BUTTON"), TEXT("Ok"), 
WS_VISIBLE | WS_CHILD , 
300, 200, 100, 20, 
hwnd, (HMENU) NULL, NULL, NULL ); 
 
CreateWindow (TEXT("EDIT"), TEXT(""), 
WS_VISIBLE | WS_CHILD | WS_BORDER , 
75, 100, 300, 20, 
hwnd, (HMENU) ID_BUTTON, NULL, NULL ); 
break; }
        
        case WM_DESTROY:
            PostQuitMessage (0);      
            break;
        default:                     
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2019, 20:35
Ответы с готовыми решениями:

Создание дочернего окна
Доброго времени суток. Нужно создать дочернее окно: #include &lt;windows.h&gt; LRESULT CALLBACK...

Создание дочернего окна
Доброго времени суток. У меня есть главное окно с 3 кнопками. Я хочу чтобы после нажатие на кнопку...

Создание меню у дочернего окна
Добрый день, подскажите, как создать меню у дочернего окна? Этот код не создаёт меню у дочернего...

Создание перекрывающего дочернего окна
Я тут мучу свою прогу, но все пока в начальных, даже детских стадиях. Столкнулась с такой...

3
6402 / 4299 / 1739
Регистрация: 07.05.2019
Сообщений: 13,121
Записей в блоге: 1
18.10.2019, 21:19 2
Цитата Сообщение от Sosiso4ka228 Посмотреть сообщение
Не получается создать дочернее окно, чтобы оно открывалось при нажатии на кнопку в главном окне приложения, а главное окно после открытия дочернего сворачивалось.
А где ты здесь обрабатываешь нажатие на кнопку?
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 8
20.10.2019, 15:21  [ТС] 3
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
А где ты здесь обрабатываешь нажатие на кнопку?
Хз, нешарю
0
880 / 583 / 178
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
20.10.2019, 16:38 4
Имеется ввиду MDI или что?
Что такое "главное окно после открытия дочернего сворачивалось"? Вы понимаете что дочернее внутри главного и если "сворачиваться" - то будут они оба вместе?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2019, 16:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Создание дочернего окна в консоли
Интересует вопрос... Посмотрим на картинку, так вот как создать дочернее окно в коносоли? это...

Создание простого родительского и дочернего окна в нем
Подскажите в чем ошибка? Появляется только родительское окно. Дочернее окно должно быть в...

Создание дочернего окна при нажатии на кнопку
Как сделать чтобы при нажатии на кнопку , создавалось дочернее окно? #include&lt;Windows.h&gt;...

Как получить размеры клиентской области окна-родителя в функции дочернего окна?
задание такое: имеется дочернее окно,которое &quot;убегает&quot; от курсора мыши в пределах родительского...


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

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

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