Требуется построить свой activeX control, в сущности по возможностям такой же как и стандартный edit-box, за исключением того, что многие свойства контрола пользователь сможет поменять сам в run-time, нажав на маленькую кнопочку которая находится в справа в поле редактирования у edit-box’а.
Создаю Full Control, и указываю Add control based on: Edit.
Дальше все нормально, за исключением того, что я не знаю в каком месте я могу получить контекст устройства, чтобы дорисовать ему там в нужном месте эту самую кнопку.
Пробовал и в OnDraw и WM_PAINT обрабатывал, в результате ничего не рисуется.
Re: activex control на основе windows класса
От:
Аноним
Дата:
15.06.02 08:39
Оценка:
Здравствуйте daemon, Вы писали:
D>Пробовал и в OnDraw и WM_PAINT обрабатывал, в результате ничего не рисуется.
Покажи что у тебя в OnPaint-е находится.
Re: activex control на основе windows класса
От:
Аноним
Дата:
17.06.02 13:30
Оценка:
Здравствуйте daemon, Вы писали:
D>Требуется построить свой activeX control, в сущности по возможностям такой же как и стандартный edit-box, за исключением того, что многие свойства контрола пользователь сможет поменять сам в run-time, нажав на маленькую кнопочку которая находится в справа в поле редактирования у edit-box’а.
D>Создаю Full Control, и указываю Add control based on: Edit. D>Дальше все нормально, за исключением того, что я не знаю в каком месте я могу получить контекст устройства, чтобы дорисовать ему там в нужном месте эту самую кнопку.
D>Пробовал и в OnDraw и WM_PAINT обрабатывал, в результате ничего не рисуется.
Естественно не работает.
Самый простой способ — создать композит контрол и положить туда эдит и маленькую кнопочку :)
Здравствуйте Аноним, Вы писали:
>Естественно не работает. >Самый простой способ — создать композит контрол и положить туда эдит и маленькую >кнопочку
Не, самый простой — в OnCreate изменить размеры Edit'а так, шоб справа осталось место для кнопочки. Кнопочку нарисовать. Проверено (АТЛный самопальный комбобокс).
Здравствуйте daemon, Вы писали:
D>Требуется построить свой activeX control...
Обрабатывайте OnSize у контрола. Там предлагаю ресайзить m_ctlEdit таким образом, чтобы оставалось место для кнопочки. Кнопочку рисовать. Получается отлично (сам комбик так делал).
Я не знаю, может уже повторяюсь по полной. Чего-то моих ответов не видно в форуме. Попробую ещё раз — не OnCreate надо перекрывать, а OnSize, а внутри ресайзить m_ctlEdit и на пустом месте рисовать кнопочку.