Здравствуйте, Baskak, Вы писали:
B>Не разобрался еще?
Не, но думаю, я дамп посмотрю, как выше написано, я примерную схему по коду знаю. Заодно пройду тест на быдлокодера
Задача была у меня такая:
У меня был контрол, лист-дерево, с кнопками-иконками в разных местах.
И тут меня смутили ближние люди, сказав: "окно настроек с таб-контролами — это прошлый век, это не расширяемо, это ненаглядно, это..."
Я подумал и сделал окно настроек так: бросил слева типа дерево, а справа лист.
В дерево тыкаешься — лист перезаполняется по контенту.
И тут встала проблема — лист из необходимого поддерживал только чеки(чекбоксы), другое было ненужно раньше, чеки были реализованы внутри листа и были рерурсонезависимы, что важно (чтоб легко перетаскивать контрол из проекта в проект).
С другой стороны, у меня есть небольшая система параметров — шаблонов, которые можно привязывать быстро привязывать к реестру и контролам, собирать в множества и т.д. И так как через них я делал настройки, захотелось это всё к листу добавить. Но такому параметру при настройке нужна была привязка к ресурсу. Ну, например, есть параметр [0..100], есть диалог настроек. Я кидаю туда едит, спин и слайдер, на каждый контрол привязываю этот параметр, и все три контрола становятся связаны с параметром и между собой (меняешь слайдер — меняется текст, меняешь спин — меняется текст и слайдер, удобно! причём "смешать" так можно скоко угодно элементов).
И вот мне захотелось на числовые параметры иметь на листе такие мини-диалоги, которые не надо описывать в ресурсах. И первое, что вспомнилось — CreateDialogIndirect. Вобщем, так как времени разбираться не было, я всё пока сделал через CreateWindowEx, но это не айс, по понятным причинам. Так что буду смотреть в дамп. Или, ещё более простой вариант (мне ж константный диалог нужен) — соберу в ресурсах нужный диалог, сниму дамп и пропишу побайтно в коде