activex control на основе windows класса
От: daemon  
Дата: 15.06.02 08:13
Оценка:
Требуется построить свой 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 обрабатывал, в результате ничего не рисуется.


Естественно не работает.
Самый простой способ — создать композит контрол и положить туда эдит и маленькую кнопочку :)
Re[2]: activex control на основе windows класса
От: duboix  
Дата: 20.06.02 11:02
Оценка:
Здравствуйте Аноним, Вы писали:

>Естественно не работает.

>Самый простой способ — создать композит контрол и положить туда эдит и маленькую >кнопочку

Не, самый простой — в OnCreate изменить размеры Edit'а так, шоб справа осталось место для кнопочки. Кнопочку нарисовать. Проверено (АТЛный самопальный комбобокс).
Re[2]: activex control на основе windows класса
От: duboix  
Дата: 20.06.02 11:12
Оценка:
Я тут писал OnCreate переопределить. Это я погорячился — переопределять надо OnSize :))
Re: activex control на основе windows класса
От: duboix  
Дата: 20.06.02 11:15
Оценка:
Здравствуйте daemon, Вы писали:

D>Требуется построить свой activeX control...


Обрабатывайте OnSize у контрола. Там предлагаю ресайзить m_ctlEdit таким образом, чтобы оставалось место для кнопочки. Кнопочку рисовать. Получается отлично (сам комбик так делал).
Re[2]: activex control на основе windows класса
От: duboix  
Дата: 20.06.02 11:20
Оценка:
Я не знаю, может уже повторяюсь по полной. Чего-то моих ответов не видно в форуме. Попробую ещё раз — не OnCreate надо перекрывать, а OnSize, а внутри ресайзить m_ctlEdit и на пустом месте рисовать кнопочку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.