Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91

Код для простейшего окна

04.07.2016, 20:09. Показов 6473. Ответов 11

Студворк — интернет-сервис помощи студентам
Я ещё далёк от WinAPI, но окна свои создавать хочется). Может кто нибудь даст код для простейшего окна?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2016, 20:09
Ответы с готовыми решениями:

Создание простейшего окна средствами WinApi
Здравствуйте. Читаю книгу "Проектирование интерфейса пользователя средствами Win32 API" Ганеева, в которой рассматривается...

Код простейшего чата на C++ Builder
Кто поделится кодом простейшего чата на C++ Builder(локального или/и с нелокальными юзерами)?

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

11
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
04.07.2016, 20:11
Лучший ответ Сообщение было отмечено Oleg Pridarun как решение

Решение

https://www.cyberforum.ru/win-api/

Думаю тут более полезные вам люди будут - в этом разделе одни неучи)
1
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
04.07.2016, 20:18
Нужен код самого простого проекта в Win Api
0
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
29.12.2017, 00:09
проще не бывает

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
#include <windows.h>
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, 
LPSTR lpLineCmd, int nCmdShow)
 {
WNDCLASSEX wce;
memset(&wce,0x00,sizeof(wce));
wce.cbSize = sizeof(WNDCLASSEX);
wce.lpfnWndProc = DefWindowProc;
wce.hInstance = hInst;
wce.hCursor = LoadCursor(NULL,IDC_HAND);
wce.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wce.lpszClassName = "MiLCaseWnd";
 
RegisterClassEx(&wce);
HWND hWnd =
CreateWindow("MiLCaseWnd", "Minimumas", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
20,30,500,400,NULL,NULL,hInst,NULL);
ShowWindow(hWnd,SW_SHOWNORMAL);
 
MSG msg;
while(GetMessage(&msg,NULL,0,0)){
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}   
 
return 0;
}
2
 Аватар для mrden777
14 / 20 / 14
Регистрация: 20.03.2018
Сообщений: 485
28.05.2018, 20:23
Не робит такой код. В Visual Studio С++ ЗАДАЕТ
такое окно по умолчанию
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
// Win32TEST.cpp: определяет точку входа для приложения.
//
 
#include "stdafx.h"
#include "WINDOWS.h"
#include "Win32TEST.h"
 
#define MAX_LOADSTRING 100
 
// Глобальные переменные:
HINSTANCE hInst;                                // текущий экземпляр
TCHAR szTitle[MAX_LOADSTRING];                  // Текст строки заголовка
TCHAR szWindowClass[MAX_LOADSTRING];            // имя класса главного окна
 
// Отправить объявления функций, включенных в этот модуль кода:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);
 
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
                     _In_opt_ HINSTANCE hPrevInstance,
                     _In_ LPTSTR    lpCmdLine,
                     _In_ int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
 
    // TODO: разместите код здесь.
    MSG msg;
    HACCEL hAccelTable;
 
    // Инициализация глобальных строк
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_WIN32TEST, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
 
    // Выполнить инициализацию приложения:
    if (!InitInstance (hInstance, nCmdShow))
    {
        return FALSE;
    }
 
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WIN32TEST));
 
    // Цикл основного сообщения:
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
 
    return (int) msg.wParam;
}
 
 
 
//
//  ФУНКЦИЯ: MyRegisterClass()
//
//  НАЗНАЧЕНИЕ: регистрирует класс окна.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WIN32TEST));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_WIN32TEST);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
    return RegisterClassEx(&wcex);
}
 
//
//   ФУНКЦИЯ: InitInstance(HINSTANCE, int)
//
//   НАЗНАЧЕНИЕ: сохраняет обработку экземпляра и создает главное окно.
//
//   КОММЕНТАРИИ:
//
//        В данной функции дескриптор экземпляра сохраняется в глобальной переменной, а также
//        создается и выводится на экран главное окно программы.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;
 
   hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной
 
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
 
   if (!hWnd)
   {
      return FALSE;
   }
 
   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);
 
   return TRUE;
}
 
//
//  ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  НАЗНАЧЕНИЕ:  обрабатывает сообщения в главном окне.
//
//  WM_COMMAND  - обработка меню приложения
//  WM_PAINT    -Закрасить главное окно
//  WM_DESTROY   - ввести сообщение о выходе и вернуться.
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню:
        switch (wmId)
        {
        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);
        // TODO: добавьте любой код отрисовки...
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
 
// Обработчик сообщений для окна "О программе".
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
        return (INT_PTR)TRUE;
 
    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }
        break;
    }
    return (INT_PTR)FALSE;
}
Кто может добавьте плз пару строчек во вкладку и Диалоговое меню всплывающее - я чото тоже не могу в этом
разобраться. Видел пример на кодблоксе, там как то это короче было размазано Название: trollface.gif
Просмотров: 104

Размер: 9.8 Кб
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
29.05.2018, 16:18
Цитата Сообщение от rolandas Посмотреть сообщение
проще не бывает
wce.lpfnWndProc = DefWindowProc;
rolandas, такую программу придется завершать через диспетчер задач. При закрытии окна процесс не завершается.
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
30.05.2018, 20:28
rolandas,откомпилил в VS 2010 ,всё работает как часы .Спасибо!!!
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
30.05.2018, 20:37
Проба :
Миниатюры
Код для простейшего окна  
0
 Аватар для mrden777
14 / 20 / 14
Регистрация: 20.03.2018
Сообщений: 485
30.05.2018, 21:34
vs 2013
0
 Аватар для mrden777
14 / 20 / 14
Регистрация: 20.03.2018
Сообщений: 485
30.05.2018, 22:22
а так через пустой проект с теми же ошибками

0
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
30.05.2018, 23:08
незнаю как на визуале, у меня на DEV C++ oтлично работает.
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
31.05.2018, 11:27
mrden777,я использовал пустой проект C++.Когда я использовал другой шаблон, тоже не компилилось.Не создавалось exe.
Миниатюры
Код для простейшего окна  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2018, 11:27
Помогаю со студенческими работами здесь

Код для окна авторизации в Access
У меня есть программа и в ней я могу выводить данные из таблицы Access в форму и добавлять пользователей, но вот беда и решил я как то...

Можете подкинуть код для закрытия окна
Всем привет. Ни у кого нету кода, чтобы при закрытии страницы выскакивало окошко, такого плана: действительно хотите покинуть страницу? И...

Код для кнопки, печать модального окна
Друзья, подскажите. Вот я разработал модальное окно. На форме &quot;Модальном окне&quot; есть две кнопки 1. ПЕЧАТЬ 2. ОТМЕНА - Вопрос:...

Код для окна. Подскажите как быть
Пытаюсь создать окно. Прописываю код: import javax.swing.JFrame; public static class window extends JFrame { public...

Код для копирования текста с активного окна MS Word
есть у кого пример кода для копирования текста с активного окна ворд в &quot;текстбокс&quot;? Спасибо зарание. Добавлено через 1 час 25...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru