Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/41: Рейтинг темы: голосов - 41, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 56

Идентификатор не определён

25.11.2015, 21:22. Показов 8769. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <windows.h>
#include <tchar.h>
#include <fstream>
#include <vector>
#include <string>
#include "Resurs.h"
#pragma comment (lib, "Comctl32.lib")
const int LineHeight = 16;//Высота строки текста + межстрочное расстояние
 
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
TCHAR WinName[] = _T("MainFrame");
int APIENTRY _tWinMain(HINSTANCE This , // Дескриптор текущего приложения
HINSTANCE Prev,  // В современных системах всегда 0
LPTSTR cmd, // Командная строка
int mode) // Режим отображения окна
{
HWND hwnd;  // Дескриптор главного окна программы
MSG msg;  // Структура для хранения сообщения
WNDCLASS wc; // Класс окна
// Определение класса окна 
wc.hInstance = This;
wc.lpszClassName = WinName; // Имя класса окна
wc.lpfnWndProc = WndProc;  // Функция окна
wc.style = CS_HREDRAW | CS_VREDRAW; // Стиль окна
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);  // Стандартная иконка
wc.hCursor = LoadCursor(NULL,IDC_ARROW);  // Стандартный курсор
wc.lpszMenuName = NULL;  // Нет меню
wc.cbClsExtra = 0;  // Нет дополнительных данных класса
wc.cbWndExtra = 0;  // Нет дополнительных данных окна
// Заполнение окна белым цветом
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
if(!RegisterClass(&wc)) return 0;  // Регистрация класса окна
// Создание окна
hwnd = CreateWindow(WinName, // Имя класса окна
_T("Каркас Windows-приложения"),  // Заголовок окна
WS_OVERLAPPEDWINDOW, // Стиль окна
CW_USEDEFAULT, // x
CW_USEDEFAULT, // y  Размеры окна
CW_USEDEFAULT, // Width
CW_USEDEFAULT, // Height
HWND_DESKTOP, // Дескриптор родительского окна
NULL, // Нет меню
This, // Дескриптор приложения
NULL); // Дополнительной информации нет
ShowWindow(hwnd, mode); //Показать окно
// Цикл обработки сообщений
 
 
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);// Функция трансляции кодов нажатой клавиши
DispatchMessage(&msg); // Посылает сообщение функции WndProc()
}
return 0;
}
 
 
 
// Оконная функция вызывается операционной системой
// и получает сообщения из очереди для данного приложения
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId;
PAINTSTRUCT ps;
HDC hdc;
static OPENFILENAME file;
Static HINSTANCE This                         Таким образом убирается ошибка но открывается просто пустое окно
static TCHAR name[256] = _T("");;       к сожелению да и вы это знаете :)) а я хоть на 5 мин избавился от ошибки :)))
 
std::ifstream in;
std::ofstream out;
static std::vector<std::string> v;
std::vector<std::string>::iterator it;
std::string st;
int y;
switch (message)
{
case WM_CREATE:
file.lStructSize = sizeof(OPENFILENAME);
file.hInstance = This;                                            Здесь ошибка почему структура не видит моего дескриптора  ?((
file.lpstrFilter = _T("Text\0*.txt");                          который в главной функции  ?((
file.lpstrFile = name;
file.nMaxFile = 256;
file.lpstrInitialDir = _T(".");
file.lpstrDefExt = _T("txt");
break;
case WM_COMMAND:
wmId = LOWORD(wParam);
switch (wmId)
{
case ID_FILE_NEW :
if (!v.empty()) std::vector<std::string>().swap(v);
InvalidateRect(hwnd, NULL, TRUE);
break;
case ID_FILE_OPEN :
file.lpstrTitle = _T("Открыть файл для чтения");
file.Flags = OFN_HIDEREADONLY;
if (!GetOpenFileName(&file)) return 1;
in.open(name);
while (getline(in,st)) v.push_back(st);
in.close();
InvalidateRect(hwnd,NULL,1);
break;
case ID_FILE_SAVE :
file.lpstrTitle = _T("Открыть файл для записи");
file.Flags = OFN_NOTESTFILECREATE;
if (!GetSaveFileName(&file)) return 1;
out.open(name);
for (it = v.begin(); it != v.end(); ++it) out << *it << '\n';
out.close();
break;
case IDM_EXIT: DestroyWindow(hwnd); break;
default: return DefWindowProc(hwnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
for (y = 0, it = v.begin(); it < v.end(); ++it, y += LineHeight)
TextOutA(hdc, 0, y, it->data(), it->length());
EndPaint(hwnd, &ps);
break;
case WM_DESTROY: PostQuitMessage(0); break;
default: return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
Будьте добры помогите Ну незнаю я что делать (Новичок)
Вот код по моему всё нормально, но тут как всегда ((

1 IntelliSense: идентификатор "This" не определен

ЭХ ))
С вашей помощью может и стану програмистом спасибо большое )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2015, 21:22
Ответы с готовыми решениями:

Синтаксическая ошибка: идентификатор "TStringGrid" не определен
возможно не туда создаю вопрос,приложение вин 32 сабж,какую библиотеку надо подключить или что исправить в коде чтобы эта ошибка...

Проблема "Идентификатор не определен" (Options,ReportError,_T)
Это в main: #include &quot;1111111.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #define BUF_SIZE 0x200 static...

IntelliSense: идентификатор "_tsclel" не определен
Как узнать длину строки?? TCHAR szText = _T(&quot;&quot;); TextOut(hDC, 0, 0, szText, _tsclel(szText)); 1 IntelliSense: идентификатор...

1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
25.11.2015, 21:31
Цитата Сообщение от Ganster 89 Посмотреть сообщение
C++
1
static HINSTANCE This;
замените на
C++
1
HINSTANCE This = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2015, 21:31
Помогаю со студенческими работами здесь

Идентификатор "dc" не определён
Здравствуйте, в краткие сроки вынужден научиться WinAPI. Пока писал код столкнулся с проблемой в рисовании куба. Написал вот такую...

идентификатор _ReturnAddr идентификатор не определён; _ReturnAddress идентификатор не найден
#include &quot;Hooks.h&quot; #include &quot;Hacks.h&quot; #include &quot;Chams.h&quot; #include &quot;Menu.h&quot; #include &quot;Interfaces.h&quot; #include &quot;RenderManager.h&quot; ...

Идентификатор не найден/идентификатор не определен
Visual Studio ругается на 83, 127, 193 строки - &quot;Идентификатор &quot;Expon&quot; не найден/не определен&quot; помогите исправить в чем дело, код не...

Требуется идентификатор (идентификатор с не определён)
Не могу понять в чём ошибка данного записи.Пожалуйста, объясните!!! vector &lt;pair&lt;int, int&gt;&gt; STACK; auto = *STACK.rbegin(); //...

Идентификатор не определён
class Bird { protected: float Wings, Speed; public: void Input(); void Show(); Bird(float _Wings, float _Speed) { Wings =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru