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

Загрузить изображение в picture control

26.08.2017, 01:09. Показов 1845. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Беда какая-то, что-то LoadImage, а затем SendMessage не работают. Вот код:

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
BOOL CALLBACK MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    static std::list<std::wstring> pictures;
    static int delay;
    switch (uMsg)
    {
    case WM_INITDIALOG:
        SendMessage(GetDlgItem(hWnd, IDC_CAT_CHECK), BM_SETCHECK, BST_CHECKED, 0);
        SendMessage(GetDlgItem(hWnd, IDC_SLOW_RADIO), BM_SETCHECK, BST_CHECKED, 0);
        delay = SLOW_DELAY;
        pictures = LoadPictures(L"Img", L"cat*.bmp");
        return true;
 
    case WM_CLOSE:
        DestroyWindow(hWnd);
        PostQuitMessage(0);
        return true;
 
    case WM_TIMER:
        if (pictures.size())
        {
            HBITMAP picture = (HBITMAP)LoadImage(NULL, pictures.front().c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
            pictures.push_back(pictures.front());
            pictures.pop_front();
 
            //SendDlgItemMessage(hWnd, IDC_ANIMAL_PICTUREBOX, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)picture);
            SendMessage(GetDlgItem(hWnd, IDC_ANIMAL_PICTUREBOX), STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)picture);
        }
        return true;
 
    case WM_COMMAND:
        if (LOWORD(wParam) == IDC_START_BUTTON)
        {
            SetTimer(hWnd, SLIDESHOW_TIMER_ID, delay, NULL);
            return true;
        }
        if (LOWORD(wParam) == IDC_STOP_BUTTON)
        {
            KillTimer(hWnd, SLIDESHOW_TIMER_ID);
            return true;
        }
        if (LOWORD(wParam) == IDC_SLOW_RADIO)
        {
            if (SendMessage(GetDlgItem(hWnd, IDC_SLOW_RADIO), BM_GETCHECK, 0, 0) == BST_CHECKED)
            {
                delay = SLOW_DELAY;
                if (KillTimer(hWnd, SLIDESHOW_TIMER_ID))
                    SetTimer(hWnd, SLIDESHOW_TIMER_ID, delay, NULL);
            }
            return true;
        }
        if (LOWORD(wParam) == IDC_FAST_RADIO)
        {
            if (SendMessage(GetDlgItem(hWnd, IDC_FAST_RADIO), BM_GETCHECK, 0, 0) == BST_CHECKED)
            {
                delay = FAST_DELAY;
                if (KillTimer(hWnd, SLIDESHOW_TIMER_ID))
                    SetTimer(hWnd, SLIDESHOW_TIMER_ID, delay, NULL);
            }
            return true;
        }
        return false;
 
    default:
        return false;
    }
 
    return false;
}
В WM_TIMER все проходит корректно, список не пустой, пути к изображениям корректные, в отладчике проверил. LoadImage возвращает не NULL. 0 реакции, область серая.
Прикрепляю проект архивом.
Mimimi.rar
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.08.2017, 01:09
Ответы с готовыми решениями:

Нажатие на картинку (Picture Control)
Проблема в том, что нужно чтобы при нажатии на изображение оно выполняло действия.Пробовал через wm_comand.Не вышло. Размер картинки...

Picture control как с ним работать
Хочу создать Picture control через createwindow, но не могу найти как с ним работать и как создавать. Или подскажите как выводить на экран...

Вставить скриншот из буфера обмена в Picture Control
Доброго времени суток! На форме имеются кнопки и Picture Control. Одна из кнопок создает скриншот, вторая помещает скриншот программы из...

1
10 / 10 / 1
Регистрация: 28.02.2013
Сообщений: 208
26.08.2017, 14:46  [ТС]
Вопрос решен. В редакторе формы в свойствах picture control нужно установить стиль "точечный рисунок"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2017, 14:46
Помогаю со студенческими работами здесь

Как загрузить изображение из ресурсов проекта в picture box?
Как загрузить изображение из ресурсов проекта в picture box? Picture box создавался в коде.

Picture control
Есть Picture control(bitmap), как программно создавать/убирать рамку(border), так чтобы позиция и размер картинки не менялись?

picture control
Привет, народ вообщем такая проблема: когда в диалоговое окно добавляю картинку и привязываюсь к главному окну, его заливка должна...

MFC Picture Control
как сделать что бы Picture Control появлялся только после нажатия кнопки ?

MFC Picture Control
Скажите пожалуйста у меня на диалоге есть picture control, в ресурсах я добавила картинку в формате bmp как сделать, что бы по нажатию на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru