Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать CBitmapButton в обычном диалоге? 
:(
    Опции темы
RaP1D
Дата 15.10.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Допустим создаю проект BBB...

Куда в нем вписать это?:
Код

CBitmapButton* pmyButton = new CBitmapButton();
pmyButton->Create(NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, CRect(200,64,32,30), pParent, 1111);
pmyButton->LoadBitmaps(IDC_COPYRS, 0, 0, 0);


В CBBBDlg::OnInitDialog()  ??? И ещё, там у меня ошибка - pParent, не знаю че вписать туда, подскажите...

Пробовал в:
Код

CBBBDlg::CBBBDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CBBBDlg::IDD, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

вписать - ошибка при запуске!
PM MAIL   Вверх
Andrey44
Дата 15.10.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Цитата(RaP1D @  15.10.2008,  11:37 Найти цитируемый пост)
И ещё, там у меня ошибка - pParent, не знаю че вписать туда, подскажите...

Код

pmyButton->Create(NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, CRect(200,64,32,30), this, 1111);



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
RaP1D
Дата 15.10.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



this я тоже пробовал! Ошибка!

Тогда по другому: куда (в какие ф-ции) что вписывать? Если не затруднит, то скиньте пример диалогового окна с такой кнопкой...
PM MAIL   Вверх
voov
Дата 16.10.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Цитата(RaP1D @  15.10.2008,  17:57 Найти цитируемый пост)
куда (в какие ф-ции) что вписывать? 

Все в OnInitDialog.
Цитата(RaP1D @  15.10.2008,  17:57 Найти цитируемый пост)
this я тоже пробовал! Ошибка!

ошибка какая?

Добавлено через 4 минуты и 13 секунд
еще попробуй без BS_OWNERDRAW
PM MAIL   Вверх
RaP1D
Дата 16.10.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

ошибка какая?

Ммм перепутал... ошибки не было, но элемент не рисовался!

Заменил CRect(200,64,32,30) на CRect(200,64,100,100)  и о чудо, оно заработало!..
НО меня волнует следующее: как я понимаю 1 параметр - x, 2 - y, 3 - width, 4- height? Если так, то почему же, когда размер в редакторе ресурсов 32 на 30 не отображается при создании с таким же размером вручную? А если писать 50 и 50, то получается вообще ..опа (рисуется токо 20x20 пикселей картинки)!

Еще вопрос: есть Static с флагом SS_NOTIFY и он обрабатывается функцией при нажатии на него. А как можно сделать, чтобы при наводке на него курсор менялся на руку?

Это сообщение отредактировал(а) RaP1D - 16.10.2008, 16:39
PM MAIL   Вверх
voov
Дата 17.10.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Цитата(RaP1D @  16.10.2008,  16:38 Найти цитируемый пост)
как я понимаю 1 параметр - x, 2 - y, 3 - width, 4- height?

не совсем. 1й,2й действительно х,у (верхней левой точки), но 3й4й тоже х,у (но нижней правой точки). читай мсдн про црект, много вопросов отпадут сами собой.
PM MAIL   Вверх
RaP1D
Дата 17.10.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(voov @ 17.10.2008,  09:52)
Цитата(RaP1D @  16.10.2008,  16:38 Найти цитируемый пост)
как я понимаю 1 параметр - x, 2 - y, 3 - width, 4- height?

не совсем. 1й,2й действительно х,у (верхней левой точки), но 3й4й тоже х,у (но нижней правой точки). читай мсдн про црект, много вопросов отпадут сами собой.

Почитал я по CRect и все раво в непонятках...
Допустим есть диалог 200x200. Я делаю так:
Код

CBitmapButton* pmyButton = new CBitmapButton();
pmyButton->Create(NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, CRect(100,100,150,150), this, 1111);
pmyButton->LoadBitmaps(IMG1, 0, 0, 0);

По идеи должна быть кнопка 50x50, да? НО во 1 - она рисуется не в координатах 100x100, а во 2 - ее размер не 50x50! В CRect единицы измерения другие чтоли? Не такие как в редакторе ресурсов?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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