Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

создание кнопки в диалоге и работа с файлом.

14K
15 апреля 2007 года
BFS
34 / / 11.04.2007
Значит осталось узнать две вещи, надеюсь кто-то откликнется...
в Visual Studio 2005 на C++ я создал MFC-application. В этом приложении я выполняю простые рисунки, с подсказки m_Valery, я начал сохранять нарисованное в файл по нажатии кнопки Save в диалоговом окне. А как сделать так, чтобы с сохранением файла с рисунками(он сохраняется автоматически, всю работу за меня делает MFC), создавался ещё один файл, в который я смог бы записать служебные данные, относительно этого рисунка(например, координаты нарисованных отрезков). Лучше чтобы файл этот был нетипизированным(для возможности ручной правки).

И ещё, как создать в диалоге доп кнопки, и, соответственно, как пристроить к ним обработчики нажатия.

Буду ооочень благодарен, кто поможет разрешить мне эти проблемы.

П.С. в принципе, возможно есть какой-то способ правильно прочесть создаваемый MFC файл с рисунком?
4.6K
15 апреля 2007 года
Tokolist
268 / / 22.03.2007
[QUOTE=BFS]И ещё, как создать в диалоге доп кнопки, и, соответственно, как пристроить к ним обработчики нажатия.[/QUOTE]
http://msdn2.microsoft.com/en-us/library/ms646951.aspx
http://msdn2.microsoft.com/en-us/library/ms646960.aspx
320
15 апреля 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: BFS
Значит осталось узнать две вещи, надеюсь кто-то откликнется...
в Visual Studio 2005 на C++ я создал MFC-application. В этом приложении я выполняю простые рисунки, с подсказки m_Valery, я начал сохранять нарисованное в файл по нажатии кнопки Save в диалоговом окне.


Стоп,я тебе говорил о другом.Ты должен сохранять не нажатием кнопок
на диалоге( на каком диалоге ? ты что для этого диалог еще создаешь ? )
, а нажатием кнопки меню Save As.Не надо диалог,все проще:)

Цитата: BFS
А как сделать так, чтобы с сохранением файла с рисунками(он сохраняется автоматически, всю работу за меня делает MFC), создавался ещё один файл, в который я смог бы записать служебные данные, относительно этого рисунка(например, координаты нарисованных отрезков). Лучше чтобы файл этот был нетипизированным(для возможности ручной правки).


Зачем тебе этот файл ? Не понял.Обьясни,что ты там будешь править ?
имхо: не надо ! Не усложняй себе жизнь.Ты делаешь простой граф.редактор для рисования простейших геом.фигур ? Или что ?

Цитата: BFS
И ещё, как создать в диалоге доп кнопки, и, соответственно, как пристроить к ним обработчики нажатия.


Про диалог см.выше,а кнопки можно создать в Resource View,просто вытаскиваешь кнопку из ToolBox и все.Вытащил,кликнул по ней 2 раза,
автоматически добавиться ф-ия обработчик,туда допишешь свой код.
Можно и руками создать с помощью ф-ии Create,но дольше.

Цитата: BFS

П.С. в принципе, возможно есть какой-то способ правильно прочесть создаваемый MFC файл с рисунком?


Сохраняешь файл через меню,Save As,потом закрыл приложение, выключил компьютер,покурил,включай и открывай опять же меню,Open,
откроется станд.файловый диалог найдешь там сохраненный ранее файл
и открывай его.:) Все.

14K
16 апреля 2007 года
BFS
34 / / 11.04.2007
Меня попросили написать прогу, в которой рисуются простый геометрич. фигуры, вставляются bmp рисунки. Ещё нужно изменять размеры фигур, перекрашивать их контура в другой цвет, и дорисовывать чего-нибудь на вставленной картинке. И чтобы вот так при сохранениях и считываниях сохранялись последние изменения.


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

Опишите пожалуйста, как реализовать операции с BMP картинкой : вставка и рисовка поверх него кистью.

Ну и ещё там с файлом что-то решить...

П.С. МСДН реально почитаю как только будет свободной время...
320
19 апреля 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: BFS

...
Опишите пожалуйста, как реализовать операции с 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.Для того чтоб потом рисовать кистью поверх ВМР картинки,надо как минимум написать ф-ию рисования кистью.Т.е. выбираешь цвет кисти и водишь мышкой по окну,свободное рисования линий.
14K
19 апреля 2007 года
BFS
34 / / 11.04.2007
Ещё раз спасибо за ответ. Valery, Вы мне ранее советовали для сохранения рисунка создавать контейнер точек. А как создать контейнер для хранения массива целочисленных величин? И где прописать, чтобы содержимое этого контейнера тоже сохранялось и считывалось из файла? Заранее благодарен за ответ.
14K
24 апреля 2007 года
BFS
34 / / 11.04.2007
Проблема решилась. Дело было в том, что я незнал, что CArray - универсальный контейнерный класс, и в нём могут храниться любые структуры)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог