Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2011, 20:55   #1
jahoope1
 
Регистрация: 14.09.2011
Сообщений: 3
По умолчанию Visual studio 2008 MFC WM_Paint

Помогите пожалуйста. Я новичок. Дали задание создать простейшее MFC приложение визардом. В пустом окне нарисовать эллипс границы штрих пунктиром цвет синий. Преподаватели показывали в 2006 студии использовали class wizard. Добавляли WM_Paint. И что то в таком духе
Код:
void CAboutDlg::OnPaint()
{
CPaintDC dc(this);
 
CBrush b(BS_SOLID,RGB(1,1,1));
dc.SelectObject(b);
dc.Ellipse(10,10,10,10);
}
Я новичок особо не разбираюсь. Можно доступным языком как это сделать в 2008 студии. Class wizard в 2008 не нашел. У меня семерка 2006 не ставится.
Помогите пожалуйста.
Всем большое спасибо.

Последний раз редактировалось Stilet; 14.09.2011 в 21:42.
jahoope1 вне форума Ответить с цитированием
Старый 14.09.2011, 22:25   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Визардом ниразу не пользовался, а вот ручками это пишется так:


*.h файл

Код:
#pragma once

class Frame: public CFrameWnd
{	
public:
	Frame();
	~Frame();

	DECLARE_MESSAGE_MAP()  // объявление карты сообщений
	afx_msg void OnPaint();  // объявление обработчика сообщения WM_PAINT
};
*.cpp файл

Код:
#include "*.h"

BEGIN_MESSAGE_MAP(Frame,CFrameWnd) // определение карты сообщений
	ON_WM_PAINT()              // сообщение WM_PAINT будет обрабатываться
END_MESSAGE_MAP()

Frame::Frame()
{	
}

Frame::~Frame()
{
}

// сам обработчик
void Frame::OnPaint()
{	
}
counter вне форума Ответить с цитированием
Старый 14.09.2011, 22:42   #3
jahoope1
 
Регистрация: 14.09.2011
Сообщений: 3
По умолчанию

Вроде все сделал как вы написали но эллипс не появляется вот вам код сгенерированный при создании mfc приложения. Вставьте пожалуйста если не сложно ваши куски кода. так что бы появился эллипс.
Огромно вам спасибо.
Вложения
Тип файла: rar my4.rar (3.21 Мб, 11 просмотров)
jahoope1 вне форума Ответить с цитированием
Старый 14.09.2011, 23:16   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от jahoope1 Посмотреть сообщение
Вроде все сделал как вы написали но эллипс не появляется вот вам код сгенерированный при создании mfc приложения.
Вы забыли элипс нарисовать, а сам он не появится!
Код:
PAINTSTRUCT ps;
HGDIOBJ *old;
CPen pen;
CDC *pDC=BeginPaint(&ps);
pen.CreatePen(PS_DASHDOT,1,RGB(0x00,0x00,0xff));
old=(HGDIOBJ*)pDC->SelectObject(&pen);
pDC->Ellipse(50,50,650,500);
pDC->SelectObject(old);
DeleteObject(pen);
EndPaint(&ps);
counter вне форума Ответить с цитированием
Старый 14.09.2011, 23:32   #5
jahoope1
 
Регистрация: 14.09.2011
Сообщений: 3
По умолчанию

Я в прикрепленный сгенерированный код вставил ваш код. и в функцию
onPaint()
{
CPaintDC dc(this);
dc.Ellipse(10,10,10,10);
}
но картинка не появилась
Попробую по вашему
jahoope1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual Studio->MFC ali_men Visual C++ 0 15.05.2011 14:49
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? Casper-SC Софт 4 31.12.2009 11:46
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ Эйнж Общие вопросы C/C++ 0 27.12.2009 20:39
Visual Studio 2008 и C++(MFC) rockedit Visual C++ 7 18.12.2009 23:27