Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.08.2019
Сообщений: 17
1

Как создать диалоговое окно?

03.09.2019, 07:30. Показов 1146. Ответов 3
Метки нет (Все метки)

Как создать окно в с++? Какая библиотека нужна? Желательно с кодом.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2019, 07:30
Ответы с готовыми решениями:

Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER?
Как сделать, чтобы диалоговое окно не закрывалось при нажатии клавиши ENTER? (если можно то, код)

Как импортировать ресурс "диалоговое окно" из другого проекта?
Написал-отладил проект "настройка FTP соединения" с диалоговым окном. Теперь пишу другой проект,...

Диалоговое окно
Нужно создать диалоговое окно,добавить статик текст и сделать так чтобы при нажатии на кнопку текст...

Не появляется диалоговое окно
В visual studio 2010 в программе нет ошибок, но диалоговое окно с результатом ее работы не...

3
170 / 122 / 61
Регистрация: 06.02.2015
Сообщений: 300
03.09.2019, 08:18 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
#include <windows.h>
 
// объявление функций
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
ATOM RegMyWindowClass(HINSTANCE, LPCTSTR);
 
////////////////////////////////////////////////////////////////////////// 
// функция вхождений программы WinMain
int APIENTRY WinMain(HINSTANCE hInstance,
             HINSTANCE         hPrevInstance,
             LPSTR             lpCmdLine,
             int               nCmdShow)
{
 
  // имя будущего класса
  LPCTSTR lpzClass = TEXT("My Window Class!");
 
  // регистрация класса
  if (!RegMyWindowClass(hInstance, lpzClass))
    return 1;
 
  // вычисление координат центра экрана
  RECT screen_rect;
  GetWindowRect(GetDesktopWindow(),&screen_rect); // разрешение экрана
  int x = screen_rect.right / 2 - 150;
  int y = screen_rect.bottom / 2 - 75;
 
  // создание диалогового окна
  HWND hWnd = CreateWindow(lpzClass, TEXT("Dialog Window"), 
    WS_OVERLAPPEDWINDOW | WS_VISIBLE, x, y, 300, 150, NULL, NULL, 
    hInstance, NULL);
 
  // если окно не создано, описатель будет равен 0
  if(!hWnd) return 2; 
 
  // цикл сообщений приложения
  MSG msg = {0};    // структура сообщения
  int iGetOk = 0;   // переменная состояния
  while ((iGetOk = GetMessage(&msg, NULL, 0, 0 )) != 0) // цикл сообщений
  {
    if (iGetOk == -1) return 3;  // если GetMessage вернул ошибку - выход
    TranslateMessage(&msg);    
    DispatchMessage(&msg);
  }
 
  return msg.wParam;  // возвращаем код завершения программы
}
 
////////////////////////////////////////////////////////////////////////// 
// функция регистрации класса окон
ATOM RegMyWindowClass(HINSTANCE hInst, LPCTSTR lpzClassName)
{
  WNDCLASS wcWindowClass = {0};
  // адрес ф-ции обработки сообщений
  wcWindowClass.lpfnWndProc = (WNDPROC)WndProc;
  // стиль окна
  wcWindowClass.style = CS_HREDRAW|CS_VREDRAW;
  // дискриптор экземпляра приложения
  wcWindowClass.hInstance = hInst;
  // название класса
  wcWindowClass.lpszClassName = lpzClassName;
  // загрузка курсора
  wcWindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
  // загрузка цвета окон
  wcWindowClass.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;
  return RegisterClass(&wcWindowClass); // регистрация класса
}
 
////////////////////////////////////////////////////////////////////////// 
// функция обработки сообщений
LRESULT CALLBACK WndProc(
  HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  // выборка и обработка сообщений
  switch (message)
  {
  case WM_LBUTTONUP:
     // реакция на сообщение
    MessageBox(hWnd, TEXT("Вы кликнули!"), TEXT("событие"), 0);
    break;
  case WM_DESTROY:
    PostQuitMessage(0);  // реакция на сообщение
    break;
  default:  
    // все сообщения не обработанные Вами обработает сама Windows
    return DefWindowProc(hWnd, message, wParam, lParam);
  }
  return 0;
}

https://rsdn.org/article/baseserv/api32.xml
0
0 / 0 / 0
Регистрация: 02.08.2019
Сообщений: 17
10.09.2019, 19:50  [ТС] 3
можно код ? )
0
2723 / 1887 / 559
Регистрация: 05.06.2014
Сообщений: 5,499
10.09.2019, 21:02 4
Цитата Сообщение от Cyberpunk19 Посмотреть сообщение
Как создать окно в с++? Какая библиотека нужна? Желательно с кодом.
В Qt. Ставишь QtCreator, выбираешь создание приложения QtWidgets, оно тебе сразу болванку кода с окошком и сгенерирует.
В C++ из коробки, без сторонних библиотек - никак.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2019, 21:02

Добавление кнопок в диалоговое окно
программа: моделирование идеального газа&quot; Можно ли в проекте Win32 вообще добавить кнопки? Есть в...

Win32 VS 10 и простейшее диалоговое окно
MessageBoxW: невозможно преобразовать параметр 2 из &quot;const char &quot; в &quot;LPCWSTR&quot; Типы, на которые...

Диалоговое окно, переполнение стека
У меня создается диалоговое окно (через ресурсы и DialogBox). Я к нему леплю ф-ию обработки...

Открыть диалоговое окно с помошью меню
создал диалоговое окно мне нужно ,чтобы это окно открывалось через меню как мне это сделать?


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

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

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