Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PictureBox GDI+ и события мыши, наследник Cstatic + события мыши 
:(
    Опции темы
qwantor
Дата 20.12.2008, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



Доброго времени суток!
Передо мной стоит задача сделать DialogBased appl. С каким-то местом под картинку, в этот контрол нужно загружать GdiPlus::Bitmap или GdiPlus::Image. А что самое интересное на этом контроле нужно ещё и рисовать мышкой, т.е. надо обрабатывать события мыши. Я скачал один контрол, в него оставалось добавить события мыши. Добавил как по образу и подобию и получил ошибку времени выполнения. Вот его код:
Скажите, пожалуйста, либо в чём ошибка, либо как сделать то что мне надо другим образом!
Заранее благодарен, за любую помощь!

Класс формы.h
Код

CPictureBox m_pictureBox; 

форма.сpp
Код

void CTryAganeDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_PICTUREBOX, m_pictureBox);
}
BOOL CTryAganeDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    m_pictureBox.SubclassDlgItem(IDC_PICTUREBOX,this);


PictureBox.h
Код

afx_msg void OnMouseMove(UINT nFlags, CPoint point);
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
    afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
    afx_msg void OnPaint();



PictureBox.cpp
Код

BEGIN_MESSAGE_MAP(CPictureBox, CStatic)
    //{{AFX_MSG_MAP(CPictureBox)
    ON_WM_MOUSEMOVE()
    ON_WM_LBUTTONDOWN()
    ON_WM_LBUTTONUP()
    ON_WM_PAINT()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()


void CPictureBox::OnLButtonUp(UINT nFlags, CPoint point)
{
    VERIFY(::ReleaseCapture());
MessageBox("aaa");
CStatic::OnLButtonUp(nFlags, point);
}
void CPictureBox::OnLButtonDown(UINT nFlags,CPoint point)
{
    SetCapture();
    MessageBox("aaa");
    CStatic::OnLButtonDown(nFlags, point);
}
void CPictureBox::OnMouseMove(UINT nFlags, CPoint point)
{
MessageBox("aaa");
  CStatic::OnMouseMove(nFlags, point);
}


PM MAIL   Вверх
qwantor
Дата 24.12.2008, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



Есть куча примеров как это делается, но судя по дате создания это работает в VS 2005 и видимо более поздних версиях.
А мне надо было в VS2003. Сделал, наследуясь от CWnd а не от CStatic. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.