создание кнопки в диалоге и работа с файлом.
в Visual Studio 2005 на C++ я создал MFC-application. В этом приложении я выполняю простые рисунки, с подсказки m_Valery, я начал сохранять нарисованное в файл по нажатии кнопки Save в диалоговом окне. А как сделать так, чтобы с сохранением файла с рисунками(он сохраняется автоматически, всю работу за меня делает MFC), создавался ещё один файл, в который я смог бы записать служебные данные, относительно этого рисунка(например, координаты нарисованных отрезков). Лучше чтобы файл этот был нетипизированным(для возможности ручной правки).
И ещё, как создать в диалоге доп кнопки, и, соответственно, как пристроить к ним обработчики нажатия.
Буду ооочень благодарен, кто поможет разрешить мне эти проблемы.
П.С. в принципе, возможно есть какой-то способ правильно прочесть создаваемый MFC файл с рисунком?
в Visual Studio 2005 на C++ я создал MFC-application. В этом приложении я выполняю простые рисунки, с подсказки m_Valery, я начал сохранять нарисованное в файл по нажатии кнопки Save в диалоговом окне.
Стоп,я тебе говорил о другом.Ты должен сохранять не нажатием кнопок
на диалоге( на каком диалоге ? ты что для этого диалог еще создаешь ? )
, а нажатием кнопки меню Save As.Не надо диалог,все проще:)
Зачем тебе этот файл ? Не понял.Обьясни,что ты там будешь править ?
имхо: не надо ! Не усложняй себе жизнь.Ты делаешь простой граф.редактор для рисования простейших геом.фигур ? Или что ?
Про диалог см.выше,а кнопки можно создать в Resource View,просто вытаскиваешь кнопку из ToolBox и все.Вытащил,кликнул по ней 2 раза,
автоматически добавиться ф-ия обработчик,туда допишешь свой код.
Можно и руками создать с помощью ф-ии Create,но дольше.
П.С. в принципе, возможно есть какой-то способ правильно прочесть создаваемый MFC файл с рисунком?
Сохраняешь файл через меню,Save As,потом закрыл приложение, выключил компьютер,покурил,включай и открывай опять же меню,Open,
откроется станд.файловый диалог найдешь там сохраненный ранее файл
и открывай его.:) Все.
А файл мне нужен для того, чтобы я мог узнать, над какой фигурой сейчас производятся действия. Допустим, пользователь хочет изменить размер эллипса, для чего нажимает неподалёку от какой-либо его границы, или непосредственно на границу эллипса. Тогда я считываю из файла все фигуры и подставляю выбранные пользователем координаты (+- погрешность) в уравнения фигур, и выявляю с какой фигурой хочет работать пользователь.
Опишите пожалуйста, как реализовать операции с BMP картинкой : вставка и рисовка поверх него кистью.
Ну и ещё там с файлом что-то решить...
П.С. МСДН реально почитаю как только будет свободной время...
...
Опишите пожалуйста, как реализовать операции с BMP картинкой : вставка и рисовка поверх него кистью.
...
1.В общем случае чтоб загрузить BMP-картинку из ресурсов надо:
--- импортировать ВМР-картинку в ресурсы
--- в ф-ии OnDraw дописать такой код
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = MemDC.SelectObject(&bitmap);
BITMAP bm;
bitmap.GetObject(sizeof(BITMAP),&bm);
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);
...
2.А для того чтоб открывать ВМР на выбор имхо надо создавать отдельный класс-наследник от CStatic.Я когда то такое делал.В нем должны быть ф-ии загрузки,сохранения,получения высоты и ширины
рисунка.Не скажу, что это очень просто.
3.Для того чтоб потом рисовать кистью поверх ВМР картинки,надо как минимум написать ф-ию рисования кистью.Т.е. выбираешь цвет кисти и водишь мышкой по окну,свободное рисования линий.