0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
|
||||||
1 | ||||||
Частые ошибки winapi01.02.2015, 15:30. Показов 1450. Ответов 9
Метки нет (Все метки)
Подскажите, что я делаю не так. Программа запускается без ошибок, но кнопку, которую я создаю, не видно, не видно иконку и изображение, загруженное как фон.
0
|
01.02.2015, 15:30 | |
Ответы с готовыми решениями:
9
WinAPI+HID: WriteFile генерирует код ошибки 1 ("Неверная функция") Стал изучать WinAPI по Петцольду и сразу "неразрешенный внешний символ ." подскажите где ошибки пж Частые ошибки Частые BSOD и разные ошибки |
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
||||||
01.02.2015, 16:57 | 2 | |||||
Вот починенный код (починить показ иконки я не могу, т.к. у меня нет её в файле проекта):
Если возникнут вопросы, пишите.
1
|
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
|
|
01.02.2015, 17:30 [ТС] | 3 |
Спасибо. Есть еще несколько вопросов.
То есть для каждой кнопки нужно отдельно вызывать функцию ShowWindow? И как быть с иконкой? Она добавлена в ресурсы, но все равно загружается стандартная(
0
|
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
|
01.02.2015, 17:34 | 4 |
Для каждого окна нужен свой ShowWindow и UpdateWindow.
Также нужно вызвать функцию SetParent, для установки дочернего окна на родительское.
0
|
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
|
|
01.02.2015, 17:37 [ТС] | 5 |
Вы уверены, что создаете кнопку как окно нужного класса?
0
|
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
|
01.02.2015, 17:40 | 6 |
С иконкой я помочь не могу, т.к. не разбираюсь. Google и MSDN в помощь
Добавлено через 3 минуты Упс, нашел ошибку. Удалите функцию BackgroundDraw. Просто дочернее окно из-за нее исчезает при перемещении.
0
|
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
|
|
01.02.2015, 17:41 [ТС] | 7 |
Изображение на фон и так не грузится(
А если удалю, как загружать его?
0
|
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
|
01.02.2015, 17:49 | 8 |
Вот в этом самая проблема. Если удалить функцию, изображение не будет загружаться. А если не удалять, дочернее окно будет зависать. Я предлагаю сделать это окно не дочерним (button), просто убрав модификатор WS_CHILD и убрав функцию SetParent. Также, можно регулировать значения размеров окна button.
1
|
Программист
119 / 97 / 11
Регистрация: 22.03.2011
Сообщений: 244
|
||||||
02.02.2015, 23:41 | 9 | |||||
Анна Лето, здравствуйте.
так делать не надо. Надо делать так:
Тоже самое с иконкой... и, что это за размеры 10х10? Таких в системе нет. Разберитесь. Далее: в сообщении WM_PAINT для получения контекста используется только BeginPaint/EndPaint, а в других - всё что угодно (кроме, естественно, BeginPaint/EndPaint). MSDN вам в помощь...
0
|
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
|
||||||
03.02.2015, 12:31 | 10 | |||||
Анна Лето,
1) иконка у меня грузится, возможно вы не положили её в папке с проэктом, поэтому она и не показывается. 2)насчёт кнопки согласен с prZzZ 3) фон, в сообщения WM_PAINT всё начинается с функции BeginPaint , а заканчивается функцией EndPaint, также у вас есть ошибки в функции LoadImage, вы невнимательно читали документацию, во первых оно вам jpg незагрузит, только bmp,ico, во вторых предпоследнии 2 параметра, это размеры картинки, а у вас там стоит 0. далее после загрузки изображения вообще происходит непонятно что, вернее непонятно с каким умыслом, тоесть рисование изображения будет выглядеть так
0
|
03.02.2015, 12:31 | |
03.02.2015, 12:31 | |
Помогаю со студенческими работами здесь
10
Частые ошибки в работе компьютера Частые системные ошибки windows 8 частые внезапные перезагрузки, ошибки в explorer.exe Частые ошибки HDD и крах операционной системы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |