Создание оригинального элемента управления (mfc)

  • Автор темы SFinXX
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SFinXX

#1
Здравствуйте все!

Вот устраиваюсь на работу. Хотел на .NET, но с таким количеством трудового опыта как у меня (0 лет 0 мес) предложили только вакансию C++ - программиста.
Дали первое задание. Читал литературу по MFC и не смог найти хорошого совета. Вопрос будет не из сложных, но прошу сразу не лошить, т.к. если бы не было срочно нужно, то не обращался бы

Значит нужно написать общий элемент управления под VC++ 6, используя библиотеку MFC (производный от CWnd). Контрол предназначен для построения несколько линий в декартовых координатах, но не в этом суть. Всю логику я себе в принципе представляю.

Вопрос в следующем: как лучше реализовать контрол в виде прямоугольной области, которая должна поддерживать изменения размеров и масштабирование. Вопрос в технике. Что лучше использовать для рисования точек на экране (данные поступают массивами типа float). Как должен быть написан этот контрол, чтоб его можно было впоследствии добавить в любую программу.

Спасибо огоромное! Обещаю, что в будущем вопросы будут более по существу
 

grigsoft

Well-known member
15.11.2005
735
0
#2
Главный вопрос - надо действительно в любых приложениях его использовать, или только в родных MFC? Если в любых - то это ActiveX, если в задании сказано порожденный от CWnd, то это только для MFC. В таком случае иди на codeproject.com, возьми там любой chart компонент, и изучай.
 
A

artiom_kh

#3
Что лучше использовать для рисования точек на экране
Если планируется что твой код будет исполнятся только на Win2000 и выше - я бы однозначно советовал GDI+ (там встроена поддержка 2D-акселерации и вообще это объектный интерфейс - для C++ рулит), если планируется высокая скорость отрисовки - лучше тогда взять DirectX - он ещё шустрее в 2D. Ну и последний вариант - для Win9x - only GDI (старая API-версия GDI)

(данные поступают массивами типа float)
Ну данные типа float при отрисовке всё-равно надо будет как-то интерполировать к типу int чтобы хоть что-то отрисовать, а вот как - в принципе зависит от многих факторов, к примеру от требуемой точности или масштаба отображения твоего графика.

Как должен быть написан этот контрол, чтоб его можно было впоследствии добавить в любую программу
Либо как ActiveX-контрол - тогда точно в любую воткнёшь (но геморроя с разработкой контрола будет больше) - или как source-code - тогда только в C++ программы на базе MFC
 
Статус
Закрыто для дальнейших ответов.