• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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()).
Благодарю за помощь. :) ;) :)
 
E

EuGenius

Единственный экземпляр формы сделал так:
Код:
CAboutDlg about;//создаём экземпляр класса
void CBellvisualDlg::OnAbout()
{	
if(!(IsWindow(about.m_hWnd)))
{
//Т.е. если формы не существует, отображаем ее
about.DoModal();
}
return;
}
:) ;) :D
 
G

grigsoft

А в чем смысл? Пока работает DoModal, ты сюда опять не войдешь (разве что с другого потока?). И есть сомнения что повторный вызов DoModal с тем же экземпляром пройдет нормально.
 
E

EuGenius

Форма открывается при появлении сообщения, получается так, что форма открывается несколько раз.
Сообщение ID_HELP - от кнопки F1
сколько раз нажмешь F1 - столько раз клацаешь Esc
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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