|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.09.2022, 12:19 | #11 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
|
25.09.2022, 12:49 | #12 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
https://learn.microsoft.com/en-us/wi...ext-operations
Достаточно GetWindowTextLength / GetWindowText |
25.09.2022, 12:59 | #13 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
|
25.09.2022, 13:21 | #14 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Да. Кстати у каждого окна есть поле GWL_USERDATA. Вы можете хранить число вводимое пользователем в этом поле. По коду получится длиннее, но смысл вот в чем. Вы обрабатываете EN_CHANGE, в котором получаете текстовое значение переводите его в число и сохраняете в GWL_USERDATA. При необходимости обратиться вам достаточно получать число из поля GWL_USERDATA, а при изменении числа переводите его в строку и обновляете текст в hEdit
|
26.09.2022, 06:51 | #15 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Но мне не нужно ничего вводить.
Нужно сначала что-то изменить в редакторе чтобы получить это сообщение(EN_CHANGE). Можно в WM_CREATE его туда запихнуть, но чем этот вариант будет отличаться от предыдущего, если только тем, что функция преобразования будет убрана из скроллбара. Хотя не факт, как тогда послать сообщение редактору, что бы он обновился. Если это сделать, то тогда в строку можно преобразовать в EN_UPDATE или как-то так. Если кончено я правильно уловил ход вашей мысли. |
26.09.2022, 07:27 | #16 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Числа изменяемые нажатием на кнопки вверх и вниз тоже считаются пользовательским вводом.
Тем что преобразования строки в число будет производиться только при изменении его в hEdit, а при любой попытке считывания вы будете получать его сразу в виде числа. Можно это делать и в EN_UPDATE, но это не критично. В данном случае т.к. вы не работаете с визуальным отображением hEdit, нет разницы между этими сообщениями. |
26.09.2022, 09:02 | #17 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Я не понимаю как это сообщение будет передаваться в hEdit, если я изменяю его в scrollbar-е я об этом спрашиваю. Если я изменяю некое значение в scrollbar, то нужно послать сообщение edit о том, что мы что-то изменили, а edit в свою очередь пошлёт оповещение EN_* в WM_COMMAND с значением этого оповещения в переменной HIWORD(wParam)(Если я правильно понимаю взаимодействие элементов управления и главного окна). Если бы я знал как это делать, то объявив статическую переменную, как я это сделал, так же преобразовывал бы в строку только один раз.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" | billiejean78 | JavaScript, Ajax | 1 | 03.09.2021 08:58 |
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" | Бахтиёр1916 | Windows | 1 | 05.04.2017 12:53 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
Возможно ли сделать выделение значения в столбце "факт" в красный цвет шрифта, если оно выходит меньше значения в столбце "план" ? | squit | Microsoft Office Excel | 19 | 17.01.2015 20:09 |
исправить это условие чтоб "1" выводилось на терминал даже если $stdat2[9] принимала не числовые значения | sergeyfromkomi | PHP | 5 | 24.04.2010 10:44 |