Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 21.01.2015
Сообщений: 90
1

SendMessage + TBM_GETPOS возвращает нуль при любых положениях слайдеров

04.04.2017, 18:56. Показов 900. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Функция SendMessage(Sliders[i], TBM_GETPOS, NULL, NULL); возвращает нуль при любых положениях слайдеров. Слайдеры создавал через ресурсы с установленными аттрибутами Tick marks, Auto ticks.
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
BOOL CALLBACK Color_Settings_Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    HWND Sliders[9];
    UINT s[9];
    switch (uMsg) 
    {
    case WM_INITDIALOG:
        Sliders[0] = GetDlgItem(hDlg, IDS_GREEN_1);
        Sliders[1] = GetDlgItem(hDlg, IDS_RED_1);
        Sliders[2] = GetDlgItem(hDlg, IDS_BLUE_1);
        Sliders[3] = GetDlgItem(hDlg, IDS_GREEN_2);
        Sliders[4] = GetDlgItem(hDlg, IDS_RED_2);
        Sliders[5] = GetDlgItem(hDlg, IDS_BLUE_2);
        Sliders[6] = GetDlgItem(hDlg, IDS_GREEN_3);
        Sliders[7] = GetDlgItem(hDlg, IDS_RED_3);
        Sliders[8] = GetDlgItem(hDlg, IDS_BLUE_3);
        for (int i = 0; i < 9; ++i)
        {
            SendMessage(Sliders[i], TBM_SETRANGE, TRUE, MAKELONG(0,255));
            SendMessage(Sliders[i], TBM_SETTICFREQ, 32, 0);
        }
        LOAD_Settings(Sliders);
        return TRUE;
    case WM_COMMAND:
        switch (LOWORD(wParam)) 
        {
        case IDOK:
            Save_Settings(Sliders);
            EndDialog(hDlg, 0);
            return TRUE;;
        case IDCANCEL:
            EndDialog(hDlg, 0);
            return TRUE;
        }
        break;
    }
    return FALSE;
}
 
void Save_Settings(HWND Sliders[])
{
    fstream f;
    char szBuff[72];
    UINT s = 0;
    f.open("settings.txt", ios_base::out);
    for (int i = 0; i < 9; ++i)
    {
        s = SendMessage(Sliders[i], TBM_GETPOS, NULL, NULL);
        f << s << " ";
    }
    f.close();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2017, 18:56
Ответы с готовыми решениями:

Почему метод Math.Pow возвращает 1 при любых значениях
Почему метод Math.Pow((d1*d2*d3),(1.0/3)); возвращает 1 при любых значениях d1,d2,d3?

SendMessage(....., LB_GETTEXT........) возвращает -1
Опять 'чужой' листбокс. Хочу прочитать текст из object browser VBIDE. Public Sub...

Ошибка при делении нуль на нуль
Всем привет! Имеется функция которая вычисляет математическое уравнение введённое в поле Edit. Всё...

запрос select а коде VB возвращает нуль значений
Код(картинка, кода мало)...

2
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,260
Записей в блоге: 7
04.04.2017, 19:07 2
Цитата Сообщение от Niko Demin Посмотреть сообщение
HWND Sliders[9];
Массив Sliders создается каждый раз заново.
Если диалоговое окно одно, то можно использовать static
C++
1
static HWND Sliders[9] = { 0 };
0
2 / 2 / 0
Регистрация: 21.01.2015
Сообщений: 90
04.04.2017, 19:10  [ТС] 3
Спасибо) Глупая ошибка. Сам не заметил
0
04.04.2017, 19:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2017, 19:10
Помогаю со студенческими работами здесь

При переключении слайдеров в slick слайдер съезжает блок
Установила два слайда с помощью slick слайдера, которые переключаются между собой при нажатии на...

Почему программа иногда возвращает не нулевой результат, а иногда нуль?
С чем подобное может быть связана?

Как настроить отправку сообщений sendMessage(sendMessage)?
Доброго времени суток! Подскажите пожалуйста как решить проблему: хочу создать простого телеграм...

Кнопки в разных положениях
Добрый день. Понадобилось на двух разных страницах создать кнопки в разных местах. С первой все...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru