• Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Bmp-подгрузка, создание единственного экземпляра класса

  • Автор темы Автор темы EuGenius
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
E

EuGenius

Вопрос 1. Как открывать форму только в единственном экземпляре?
Вроде можно как-то класс обьявить...
Форма открывается при появлении сообщения, получается так, что форма открывается несколько раз.
Вопрос 2. Как в MFC задавать статическому обьекту (Picture Control) на форме разные bmp-файлы?
Пробовал следующее
Код:
...
//назначил контрол в хидере
CStatic m_bmpSound;
...
void CBellvisualDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBellvisualDlg)
DDX_Control(pDX, IDB_BITMAP_SOUND, m_bmpSound);
}
...
//вот сама попытка
m_bmpSound.SetBitmap(LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP_YESSOUND)));
...
Может там чего-то не хватает?
"m_bmpSound.SetBitmap(...);" делалось в инициализации диалога (OnInitDialog()).
Благодарю за помощь. :) ;) :)
 
Единственный экземпляр формы сделал так:
Код:
CAboutDlg about;//создаём экземпляр класса
void CBellvisualDlg::OnAbout()
{	
if(!(IsWindow(about.m_hWnd)))
{
//Т.е. если формы не существует, отображаем ее
about.DoModal();
}
return;
}
:) ;) :D
 
А в чем смысл? Пока работает DoModal, ты сюда опять не войдешь (разве что с другого потока?). И есть сомнения что повторный вызов DoModal с тем же экземпляром пройдет нормально.
 
Форма открывается при появлении сообщения, получается так, что форма открывается несколько раз.
Сообщение ID_HELP - от кнопки F1
сколько раз нажмешь F1 - столько раз клацаешь Esc
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!