Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для mixon-21
5 / 5 / 3
Регистрация: 05.03.2013
Сообщений: 220

Не выводится окно

10.11.2013, 14:26. Показов 832. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите где ошибка плиз


KWnd.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Код:
 
#pragma once
 
#include <Windows.h>
class KWnd
{
public:
    KWnd(LPCTSTR windowName, HINSTANCE hinst, int cmdShow, 
LRESULT (WINAPI *pWndProc)(HWND,UINT,WPARAM,LPARAM), 
LPCTSTR menuName = NULL, 
int x = CW_USEDEFAULT, int у = 0, 
int width = CW_USEDEFAULT, int height = 0, 
UINT classStyle = CS_HREDRAW | CS_VREDRAW, 
DWORD windowStyle = WS_OVERLAPPEDWINDOW, 
HWND hParent = NULL); 
    HWND GetHMnd() { return hWnd; } 
    /*  ~KWnd(void);*/
protected: 
HWND hWnd; 
WNDCLASSEX wc; 
};
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
Код:
 
#include"KWnd.h"
 
KWnd::KWnd(LPCTSTR windowName, HINSTANCE hinst, int cmdShow, 
LRESULT (WINAPI *pWndProc)(HWND,UINT,WPARAM,LPARAM), 
LPCTSTR menuName, int x, int y, int width, int height, 
UINT classStyle, DWORD windowStyle, HWND hParent) 
{
    MSG lpMsg;
char szClassName[] = "KWndClass"; 
wc.cbSize = sizeof(wc); 
wc.style = classStyle; 
wc.lpfnWndProc = pWndProc; 
wc.cbClsExtra - 0; 
wc.cbWndExtra = 0; 
wc.hInstance = hinst; 
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); 
wc.hCursor = LoadCursor(NULL, IDC_ARROW); 
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = menuName;
wc.lpszClassName = 0; 
wc.hIconSm - LoadIcon(NULL, IDI_APPLICATION); 
// Регистрируем класс окна 
if (!RegisterClassEx(&wc)) { 
char msg[100] = "Cannot register class: ";
strcat(msg, szClassName); 
 
}
 
// Создаем окно 
hWnd = CreateWindowEx(5,
                      TEXT("Vasya"),
                      TEXT("Hello Word 2"),
                      WS_OVERLAPPEDWINDOW,
                      10,
                      10,
                      100,
                      100,
                      
                      hParent,
                      NULL,
                      hinst,
                      NULL); 
 
ShowWindow(hWnd,cmdShow);
    UpdateWindow(hWnd);
    while(GetMessage(&lpMsg, NULL, 0, 0))
    {
    TranslateMessage(&lpMsg);
    DispatchMessage(&lpMsg);
    }
}
Код:
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
// Hel1o2.cpp 
#include <windows.h> 
#include "KWnd.h" 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine, int 
nCmdShow) 
{ 
MSG msg; 
KWnd mainWnd(TEXT("A Hello2 application"), hinstance, nCmdShow, WndProc); 
while (GetMessage(&msg, NULL, 0, 0)) { 
TranslateMessage(&msg); 
DispatchMessage(&msg); 
} 
return msg.wParam; 
} 
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM IParam) 
{ 
HDC hDC; 
PAINTSTRUCT ps; 
RECT rect; 
int userReply; 
switch (uMsg) 
{ 
case WM_PAINT: 
hDC - BeginPaint(hWnd, &ps); 
GetClientRect(hWnd, &rect); 
DrawText(hDC,TEXT( "Hello, World!"), -1, &rect, 
DT_SINGLELINE | DT_CENTER | DT_CENTER ); 
EndPaint(hWnd, &ps); 
break; 
case WM_CLOSE: 
         MessageBox(hWnd,TEXT( "А вы уверены в своем желании закрыть приложение?" ),TEXT(""), MB_YESNO | MB_ICONQUESTION); 
if (IDYES == userReply) 
DestroyWindow(hWnd); 
break; 
case WM_DESTROY: 
PostQuitMessage(2); 
break; 
default: 
 
return DefWindowProc(hWnd, uMsg, wParam, IParam); 
} 
return 0; 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2013, 14:26
Ответы с готовыми решениями:

Не выводится окно приложения
#include &quot;windows.h&quot; LRESULT __stdcall WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { ...

Не выводится диалоговое окно
Доброго времени суток. Пытаюсь создать мини-программу с перемещающейся фигурой. Одной из задач являет задание цвета фигуры. Задание...

Не выводится окно по таймеру
Такой вопрос, есть таймер aTimer = new Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); ...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
10.11.2013, 15:02
C++
1
2
3
4
5
6
7
char szClassName[] = "KWndClass"; 
 
// ...
 
hWnd = CreateWindowEx(5,
                      TEXT("Vasya"),
                      TEXT("Hello Word 2"), // ...
Ты уж реши, Вася, или KWndClass все-таки... Кстати, в 23 строке вообще не назначается имя класса, чего ж ты хочешь, чтобы работало?
0
 Аватар для mixon-21
5 / 5 / 3
Регистрация: 05.03.2013
Сообщений: 220
10.11.2013, 15:34  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
C++
1
2
3
4
5
6
7
char szClassName[] = "KWndClass"; 
 
// ...
 
hWnd = CreateWindowEx(5,
                      TEXT("Vasya"),
                      TEXT("Hello Word 2"), // ...
Ты уж реши, Вася, или KWndClass все-таки... Кстати, в 23 строке вообще не назначается имя класса, чего ж ты хочешь, чтобы работало?
В 23 строке исправил на szClassName и все равно не выводится??????????
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
10.11.2013, 15:35
А в 34-ой?

И заодно опечатки убери, у тебя в нескольких местах минусы вместо присваивания. Вот так надо:

C++
12
13
14
15
16
17
18
19
20
21
22
23
24
char szClassName[] = "KWndClass";
wc.cbSize = sizeof(wc);
wc.style = classStyle;
wc.lpfnWndProc = pWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hinst;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = menuName;
wc.lpszClassName = szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
1
 Аватар для mixon-21
5 / 5 / 3
Регистрация: 05.03.2013
Сообщений: 220
10.11.2013, 16:02  [ТС]
Еще при компиляции програмы выскакивает ошибка

Run-Time Check Failure #3 - The variable 'hDC' is being used without being initialized.

как ее исправить????
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
10.11.2013, 16:11
Опять же, у тебя и там вместо "=" стоит минус (26 строка hello.cpp). Исправь везде эту опечатку, откуда ты выкопал этот текст? Уже тут на форуме задавали по этому коду из Щупака вопросы, там поправлено было всё...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2013, 16:11
Помогаю со студенческими работами здесь

Не выводится диалоговое окно
Всем приветы. Помогите начинающему. Мой первый код на ЖабеСкрипт. В общем задача в следующем: Пользуясь диалоговыми окнами, соберите о...

Не выводится окно сообщения
Здравствуйте!:) Получила задание следующего характера (автоматизированное тестирование): Со стартовой страницы http://qaclub.com.ua...

Не выводится диалоговое окно
При нажатии на кнопку должно выводится диалоговое окно с вопросом о автозаполнении, если в текстовом поле не введе текст, но не работает,...

Не выводится изображение в окно программы
Имеет место быть такая проблема. Недавно начал читать мануал по Qt, где был представлен следующий код, #include &lt;QtGui&gt; int...

Лемниската Бернулли, не выводится окно
from tkinter import * import math #окно win = Tk() win.title (&quot;Grafik&quot;) win.geometry(&quot;600x600+100+30&quot;) canvas = Canvas(win,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru