![]() |
|
![]() ![]() ![]() |
|
SwallowSPB |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.7.2008 Где: Питер Репутация: нет Всего: нет |
Подскажите, please...........Создан свой класс ( Class.h, Class.cpp и ресурсы к нему). Как его прописать в ToolBox'е (с картинкой, как и у остальных ЭУ), чтобы можно было его от туда вытаскивать на окно диалога и работать с ним, как и с любым другим ЭУ (с идентификатором в .rc, с окошком свойств и все такое).
![]() |
|||
|
||||
Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Если я тебя правильно понял, то никак
![]() -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
SwallowSPB |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.7.2008 Где: Питер Репутация: нет Всего: нет |
А как тогда правильно свой ЭУ прописывать в окошко диалога, с идентификатором IDC_......, c управление свойств нового ЭУ в дизайнере VC2005, с DDX? Так ведь просто в .rc не прописать: LTEXT "",IDC_NEWCONTROL,100,100,200,200,0,WS_EX_CLIENTEDG, это среда должна делать.
|
|||
|
||||
Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Наиболее популярно и просто унаследоваться например от кнопки, переопределить что нада, а потом в заголовочном файле подменить CButton на твой класс.
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
swetaCS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 5.8.2008 Репутация: нет Всего: нет |
А разве в ToolBox нельзя добавить свой компонент? На моей памяти люди это как-то делали .......
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Просто элемент управления, описанный парой cpp + h - нельзя.
С чего это? Все можно, если правильно делаешь. Только вот LTEXT - это просто статик, а вовсе не твой элемент. Если у тебя нечто, похожее на статик, наследуйся от статика, а дальше - как подсказал Rapalex. Что у тебя за класс, от чего наследуется? От CWnd? Если решительно нельзя унаследоваться ни от чего другого, то единственный способ - динамическое создание в runtime. А на диалоге можно разметочный контрол посадить (статик, например), чтобы место создания проще определить. Я еще обычно этот разметочный контрол удаляю, а его идентификатор и таб-ордер использую для нестандартного контрола. Но, повторюсь, в большинстве случаев можно и нужно наследоваться от чего-нибудь стандартного: кнопки, эдита, статика, etc... -------------------- ... |
|||
|
||||
Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
А ещё есть юзер контролы, но я ими никогда не пользовался и смутно представляю что это.
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
SwallowSPB |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.7.2008 Где: Питер Репутация: нет Всего: нет |
Спасибо. С наследованием понятно. В .rc тож все хорошо руками прописывается.
Но все же как разработать компонент, грамотно помещающийся в ToolBox? Какую технологию для этого надо задействовать? Какова последовательность действий? В каком виде, вообще, например, самая простая кнопка хранится в VS2005? |
|||
|
||||
Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Опять 25. Кнопки хранятся не в студии а в винде (комон контролы).
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
SwallowSPB |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.7.2008 Где: Питер Репутация: нет Всего: нет |
Очень убедительно, Repalex. Не знаешь - не пиши: никак. Согласен, вопрос не тривиальный, но знания - ценный материал, а редкие знания - бесценный. Если у кого-то есть опыт в решении этой задачки, буду благодарен за инфу.
|
|||
|
||||
SwallowSPB |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.7.2008 Где: Питер Репутация: нет Всего: нет |
С ToolBox'м в VS2005 разобрался. Можно просто компилировать компоненты в виде .dll или ActiveX (.ocx), и в таком виде они хорошо прописываются (с картинками и прочим) в Tools через меню Choose ToolBox Item..., либо ПКМ на ToolBox -> Choose Item.
A стандартные ЭУ собраны в COMCTL32.Dll винды, если я не ошибаюсь. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
В COMCTL32.Dll только Common controls (ListView, TreeView, ...) а кнопки, эдиты, комбобоксы и прочие ветераны где-то еще.
-------------------- ... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |