Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
1

Нужно исправить ошибку в программе

23.03.2014, 17:11. Показов 917. Ответов 14
Метки нет (Все метки)

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
#include<windows.h>
using namespace std;
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
HWND hwnd, hwnd2;
char szName[] = "window";
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
    HWND hwnd;
    WNDCLASSEX wincl;
    MSG messages;
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szName;
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS|CS_DROPSHADOW;
    wincl.cbSize = sizeof (WNDCLASSEX);
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_HAND);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_HIGHLIGHTTEXT;
    if(!RegisterClassEx (&wincl))
    return 0;
    hwnd = CreateWindowEx (WS_EX_TOPMOST | WS_EX_TOOLWINDOW , szName, NULL, NULL, -3, -26, 1372, 790, NULL, NULL, NULL, NULL);
    hwnd2 = CreateWindowEx (WS_EX_TOPMOST | WS_EX_TOOLWINDOW , szName, NULL, WS_CHILD|WS_BORDER, 0, 0, 1372, 790, hwnd, NULL, NULL, NULL);
    SetWindowColor(hwnd2, 0xFFCC00);
    ShowWindow(hwnd2, SW_SHOW);
    ShowWindow(hwnd, SW_SHOW);
        while (GetMessage(&messages, hwnd, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return messages.wParam;
}
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
        case WM_COMMAND:
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}
27 32 [Error] 'SetWindowColor' was not declared in this scope
Почему компилятор не читает SetWindowColor?
Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2014, 17:11
Ответы с готовыми решениями:

Нужно исправить ошибку(Метод Хорд)
Здравствуйте,помогите пожалуйста исправить ошибку в проге для нахождения корня методом хорд,две...

Нужно исправить ошибку (перевернуть в строке самое длинное "слово")
Добрый день Дела обстоят так: Дана задача - написать программу, в которой вводится какое-то...

Не могу исправить баг в программе-рисовалке
Здравствуйте, уважаемые программисты! Недавно начал писать на C++ (Visual Studio 2012, если...

Как исправить ошибку?
Поиск файлов в каталоге (к примеру в Temp) Выдаёт ошибку - невозможно преобразовать параметр 1 из...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
14
17 / 17 / 5
Регистрация: 09.03.2013
Сообщений: 65
23.03.2014, 17:18 2
Нет такой функции в WinAPI - SetWindowColor
Фон по умолчанию указывается здесь: wincl.hbrBackground
Если менять фон, когда окно уже создано, то используйте SetBkColor
1
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
23.03.2014, 17:52  [ТС] 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
#include<windows.h>
using namespace std;
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
HWND hwnd, hwnd2;
char szName[] = "window";
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
    HWND hwnd;
    WNDCLASSEX wincl;
    MSG messages;
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szName;
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS|CS_DROPSHADOW;
    wincl.cbSize = sizeof (WNDCLASSEX);
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_HAND);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_HIGHLIGHTTEXT;
    if(!RegisterClassEx (&wincl))
    return 0;
    hwnd = CreateWindowEx (WS_EX_TOPMOST | WS_EX_TOOLWINDOW , szName, NULL, NULL, -3, -26, 1372, 790, NULL, NULL, NULL, NULL);
    hwnd2 = CreateWindowEx (WS_EX_TOPMOST | WS_EX_TOOLWINDOW , szName, NULL, WS_CHILD|WS_BORDER, 0, 0, 1372, 790, hwnd, NULL, NULL, NULL);
    HDC hdc = GetDC(hwnd2);
    SetBkColor(hdc, 0xFFCC00);
    ShowWindow(hwnd2, SW_SHOW);
    ShowWindow(hwnd, SW_SHOW);
        while (GetMessage(&messages, hwnd, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return messages.wParam;
}
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
        case WM_COMMAND:
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}
25 122 [Warning] passing NULL to non-pointer argument 4 of 'HWND__* CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID)' [-Wconversion-null]
Сейчас что не так
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30902 / 20218 / 7882
Регистрация: 22.10.2011
Сообщений: 35,098
Записей в блоге: 6
23.03.2014, 17:55 4
Четвертым параметром 0 поставь вместо NULL:
C++
1
2
hwnd = CreateWindowEx (WS_EX_TOPMOST | WS_EX_TOOLWINDOW , szName, NULL, 0,
    -3, -26, 1372, 790, NULL, NULL, NULL, NULL);
1
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
23.03.2014, 18:12  [ТС] 5
UI, что это за означает
[Error] ld returned 1 exit status
0
19 / 14 / 2
Регистрация: 08.11.2009
Сообщений: 79
23.03.2014, 19:01 6
Это означает, что линкер не может собрать вашу программу. Смотрите какие ошибки написаны раньше или приведите полный текст (весь вывод)
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
23.03.2014, 19:08  [ТС] 7
SetWindowColor.cpp.text+0x2b6): undefined reference to `__imp_SetBkColor'
[Error] ld returned 1 exit status

Добавлено через 45 секунд
Цитата Сообщение от programmist99 Посмотреть сообщение
SetWindowColor.cpp.text+0x2b6): undefined reference to `__imp_SetBkColor'
C:\Users\D395~1\AppData\Local\Temp\cc5LaWmk.o SetWindowColor.cpp (.text+0x2b6): undefined reference to `__imp_SetBkColor'
0
19 / 14 / 2
Регистрация: 08.11.2009
Сообщений: 79
23.03.2014, 19:14 8
http://msdn.microsoft.com/en-u... s.85).aspx

GDI.LIB подключи и все должно нормально быть
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
23.03.2014, 19:31  [ТС] 9
serg.smart,
C++
1
#pragma comment(lib, "Gdi32.lib")
не помогло, может дело в компиляторе?
Использую DevC++
0
19 / 14 / 2
Регистрация: 08.11.2009
Сообщений: 79
23.03.2014, 19:36 10
Линкер не может найти функцию. тут два варианта - либо библиотека все-таки не подключена, либо имя функции генерируется по другим правилам, это надо опции компилятора смотреть
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30902 / 20218 / 7882
Регистрация: 22.10.2011
Сообщений: 35,098
Записей в блоге: 6
23.03.2014, 22:23 11
programmist99, как проект создавался? Если New Project->Windows Application, то твой код прекрасно компилируется:
Нужно исправить ошибку в программе


Если по-другому - то надо добавлять библиотеки вручную, это на фиг никому не надо особенно в DevC++, пересоздай проект лучше.
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
23.03.2014, 22:49  [ТС] 12
UI, проект создан правильно, но изменений никаких
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30902 / 20218 / 7882
Регистрация: 22.10.2011
Сообщений: 35,098
Записей в блоге: 6
24.03.2014, 11:32 13
Прикрепи сюда свой проект в виде архива, я попробую его откомпилировать у себя...
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
27.03.2014, 21:24  [ТС] 14
Проект2.zip
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
27.03.2014, 21:30  [ТС] 15
SetBkColor.zip
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2014, 21:30

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

Как исправить ошибку в коде?
Всем привет может кто подсказать что это за ошибка! Я вообще новичок в WinApi и начинающий Си Си++...

Не могу понять как исправить ошибку
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot;...

Нужно исправить ошибку в программе
Здравствуйте, нужно исправить ошибку, не считает матрицу Я скинул файл маткада и задание под...

Нужно исправить ошибку в программе
Дана матрица А(M,N). Если среди элементов матрицы есть хотя бы одно простое число, отсортировать...


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

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

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