|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
"Поймать" сообщение от LISTBOX09.11.2011, 11:40. Показов 4835. Ответов 42
Метки нет (Все метки)
Рассматриваю тут пример в книге и вот почему-то он у меня срабатывать не хочет - не могу изменять масштаб в диалоговом окне так как он тупо вообще не выбирается, может стиля какого не хватает при создании диалогового окна, или ещё чего, подскажите пожалуйста.
Собственно main.h (константы и объявления функций)
main.cpp
Собственно в нём ошибка если есть то разве что в последней функции DlgOnCommand в case ID_SCALE (строка 197), так как именно там обрабатываются сообщения от моего LISTBOX с диалогового окна, все остальные функции работают корректно. Ну ещё возможно что есть ошибка при заполнении LISTBOX (это функция DlgOnInitDialog (строка 162)), хотя вроде заполнился он нормально и все 8 строк в нём присутствуют. Сама программа,если интересно, выводит график, который она читает из dat файла (считывает первые 1000 байт). Файл dat с нормальным графиком могу предоставить, хотя можно тупо открыть любой файл чтобы программа считала с него 1000 байт, график только рандомный получится. На скриншоте видно что ни один пункт в LISTBOX "Масштаб" не выбран и мышкой не выбирается.
0
|
||||||||||||||||
| 09.11.2011, 11:40 | |
|
Ответы с готовыми решениями:
42
Поймать двойной клик по строке в LISTBOX и выполнить указанное действие Как поймать событие скроллинга в listBox? Поймать сообщение wm_copy |
|
|
|
| 09.11.2011, 18:48 | |
|
Gepar, получаешь параметр из листбокса и передаешь его функции рисования...
Не пойму че у тебя не получается...
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 09.11.2011, 18:53 [ТС] | |
|
programina, нет, я Ваш код разбираю и мне интересно что делает макрос TEXT, до этого никогда с ним не сталкивался, так код компилируется у меня и работает.
0
|
|
| 09.11.2011, 19:00 | |
|
0
|
|
|
|
|
| 09.11.2011, 19:04 | |
|
Gepar, Text можно вообще убрать у меня на MinGW и без него все работает.
PS: хотя у тебя может и не МinGW. К Codeblock многое прикрутить можно.. PSS: Юра, это я чайник(с)
0
|
|
|
|
|||||||
| 09.11.2011, 19:08 | |||||||
Не по теме: Проект вообще - не предполагает GetDlgItemText и поетому изменив програмно 2-ю строку в листе вместо изменённой строки получишь programina2 - потому что логики в алгоритме мало - это не получение строки листа! SetWindowText(hwndStatic, items[sel]);, ладно я ж тупой и ничё не знаю...
1
|
|||||||
|
|
|
| 09.11.2011, 19:29 | |
|
Gepar, если у тебя не получается масштабировать, то я решила твою проблему
![]() щас еще немного подправлю
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 09.11.2011, 20:18 [ТС] | ||
|
0
|
||
|
|
|
| 09.11.2011, 20:24 | |
|
Gepar я не свой, а твой проект переделала и все работает
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 09.11.2011, 20:26 [ТС] | ||
|
Добавлено через 1 минуту programina, так где же у меня ошибка, проект тотальной переделке не подлежит, в нём только нужно исправить ошибку, конкретно сейчас я думаю что я ловлю LBN_SELCHANGE не через тот параметр, хотя может я и ошибаюсь.
0
|
||
|
|
|||||||||||
| 09.11.2011, 20:26 | |||||||||||
|
вот так нужно
PS: никаких ifов в caseах
1
|
|||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 09.11.2011, 20:36 [ТС] | |
|
programina, так оно всё равно ничего не выбирается и не изменяется (хотя ветка вызывается при этом регулярно, это я сужу по тому что я туда MessageBox добавил так вот он то вызывался часто)
![]() Добавлено через 3 минуты Точнее не совсем ничего не выбирается - если поклацать по листу то можно выбрать 200 (график изменится), при этом 200 выделяться не будут и больше ничего выбрать после этого будет нельзя (график меняться больше не будет).
0
|
|
|
|
|
| 09.11.2011, 20:37 | |
|
как не изменяется скажешь масштаб не меняется когда закрываешь диалог с процентами
![]() или тебе надо чтобы график менялся динамично щелкая по строкам в листбоксе?
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 09.11.2011, 20:40 [ТС] | |
|
Убрал WM_NOTIFY из ресурсов - теперь строчка выделяется (а я то думал именно оно нужно чтобы сообщения присылались, хех), но теперь я могу выбрать либо 100 либо 200 (притом можно выбрать 125 либо ещё чего, всё равно, при клике по листу установится значение 200 (и график перерисуется соответственно) ). Те: изначально при открытии выбрано 100 по умолчанию, а я могу выбрать 200 и всё. Дальше что не выбирай - ничего не меняется и при закрытии и открытии диалогового окна установлено 200.
0
|
|
|
|
|
| 09.11.2011, 20:42 | |
|
давай я скину тебе твой переделанный проект
у меня все масштабы выбираются
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 09.11.2011, 20:43 [ТС] | |
|
Вот, честно, уж не думал что столько проблем будет с нещасным листбоксом, в этом WINAPI я смотрю так заблудиться можно.
Добавлено через 25 секунд programina, давай, я посмотрю и сравню
0
|
|
|
|
|
| 09.11.2011, 20:45 | |
|
Лови
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||
| 09.11.2011, 20:51 [ТС] | ||||||
|
programina, сейчас посмотрю, опытным методом определил почему всегда 200
Добавлено через 1 минуту programina, да, Ваш вариант работает как положено, сейчас попробую найти какая строка у Вас отличается от моих наработок.
0
|
||||||
|
|
|
| 09.11.2011, 20:52 | |
|
Ну ты скажи у тебя все масштабы выбираются? А то вдруг дело не в коде
PS: не отвечай ![]() стормозила чуточку
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 09.11.2011, 20:59 [ТС] | |
|
Хм, едиснтвенное отличие что я нашёл это вызов OnPaint в конце, правда он и так должен вызываться же после InvalidateRect да и не должен влиять на сам график.
1
|
|
|
|
||||||
| 09.11.2011, 21:07 | ||||||
|
Gepar удали онпайнт я забыла убрать
![]()
0
|
||||||
| 09.11.2011, 21:07 | |
|
Как поймать сообщение об ошибке Не могу поймать сообщение wm_copydata Хук, который должен поймать сообщение WM_SIZE, его не ловит ListBox и всплывающее сообщение Если в listbox есть определенное название,выводит сообщение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|