Как создать splash screen в visual c++?

325
07 марта 2017, 17:08

Есть две формы: одна - главная рабочая область, вторая - splash screen. Код такой(основные функции: таймер и конструктор главной формы):

Конструктор главной формы:

  this->Hide();
    SimpleReplacment::SplashScreen^ splashScreen = gcnew SimpleReplacment::SplashScreen();
    splashScreen->Show();
    if (splashScreen->Opacity <= 0) {
        delete splashScreen;
        this->Show();
    }

Таймер splash screen:

    this->Opacity -= 0.05;
if (this->Opacity <= 0) {
    timer_loading->Enabled = false;
    this->Enabled = false;
    this->Close();
}

Проблема в том, что при загрузке главной формы она появляется сразу, т.к. условие одноразовое, но если я сделаю цикл поверх блока кода с условием, то не будет выполняться код побочной формы. Что нужно сделать?

Answer 1

Почему Вы не открываете сразу splash screen при запуске приложения, которая (по завершению таймера...) откроет главную форму? Splash screen:

    this->Opacity -= 0.05;
if (this->Opacity <= 0) {
    timer_loading->Enabled = false;
    MainForm->Show(); // like this
    this->Enabled = false;
    this->Close();
}

А в настройках проекта указать, чтобы запуск был с другой формы.

READ ALSO
Как конвертировать строку в число?

Как конвертировать строку в число?

Допустим, есть строка (string, не char) = "123455"

325
Реализация getline для своего класса string

Реализация getline для своего класса string

Здравствуйте, помогите пожалуйста, проблема в функции getline(),которая принимает 2 аргумента: Входной поток, из которого следует извлечь строку...

364
Посчитать количество единиц в числе

Посчитать количество единиц в числе

Вопрос предельно прост: надо посчитать количество единиц в двоичном представлении числа за О(1)Линии и логарифмы даже не предлагайте

468
Выбор СУБД для написания программы C++

Выбор СУБД для написания программы C++

ЗдравствуйтеС какой СУБД проще всего работать новичку в C++? На C# работал с Access, но теперь эта СУБД запрещена, поэтому нужна альтернатива

331