CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - TImage na pulpicie

TImage na pulpicie

problemy z tworzeniem aplikacji graficznych oraz audio i wideo

TImage na pulpicie

Nowy postprzez Koziol » wtorek, 1 grudnia 2009, 22:16

W jaki sposób uzyskać efekt podobny do tego podczas uruchamiania BCB6?

Pojawia się na pulpicie sam obrazek wraz ze zmieniającym się tekstem?

W załączniku schematyczny obrazek.
Ad. TLabel jest przezroczyste.
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: TImage na pulpicie

Nowy postprzez Cyfrowy Baron » środa, 2 grudnia 2009, 10:46

To jest po prostu okno programu tak zwany Splash Screen (wizytówka programu). Zmieniający się tekst to po prostu lista operacji wykonywanych przez program. Do każdego programu możesz dodać Splash Screen.

Zaprojektuj okno powitalne wg. własnego uznania.

Formularz okna powitalnego programu należy usunąć z listy automatycznie tworzonych formularzy za pomocą Project -> Options na zakładce Forms trzeba przesunąć go z listy Auto-create forms na listę Available forms

Wyświetlić plik projektu za pomocą menu View- > Project Source (np. Project1.cpp)

Dodaj do kodu następujące instrukcje, które tworzą i wyświetlają naszą wizytówkę przed utworzeniem innych formularzy, a usuwają ją po utworzeniu ostatniego formularza (można dodać opóźnienie przed zniknięciem wizytówki za pomocą funkcji Windows API Sleep() w przypadku, gdy tworzenie pozostałych formularzy nie trwa długo):

Kod: Zaznacz cały
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
   try
   {
          Application->Initialize();
          TForm2* SplashScreen = new TForm2(Application); // okno powitalne
          SplashScreen->Show(); //<--
          SplashScreen->Update(); //<--
          Application->CreateForm(__classid(TForm1), &Form1);
          Sleep(3000); //<--
          delete SplashScreen; //<--
          Application->Run();
   }
   catch (Exception &exception)
   {
      Application->ShowException(&exception);
   }
   catch (...)
   {
      try
      {
         throw Exception("");
      }
      catch (Exception &exception)
      {
         Application->ShowException(&exception);
      }
   }
   return 0;
}
//---------------------------------------------------------------------------


Komunikaty wyświetlane w oknie powitalnym muszą zostać zaprogramowane w tym oknie, ale wyświetlanie komunikatów ma sens tylko wtedy, gdy program ładuje się naprawdę długo. Wprowadzenie opóźnienia powinno służyć tylko przedłużeniu czasu pokazywania wizytówki programu. Pamiętaj jednak, że nikt nie lubi jak mu się program długo ładuje.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: TImage na pulpicie

Nowy postprzez Corvis » środa, 11 lipca 2012, 13:52

Witam,

Nie chce zakładać nowego tematu.

Baronie ten kod co podałeś powoduje u mnie dziwny efekt mianowicie zostaje mi na taskbar dodatkowa ikona która nie znika :|

Tutaj to widać są 2 ikony.
2 ikony.png

Kod jest identyczny jak tutaj podałeś
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: TImage na pulpicie

Nowy postprzez Cyfrowy Baron » środa, 11 lipca 2012, 16:06

W nowszych wersjach środowiska trochę się pozmieniało. Brakuje ci w tym kodzie tego elementu:

KOD cpp:     UKRYJ  
Application->MainFormOnTaskBar = true;


czyli całość powinna wyglądać tak:

KOD cpp:     UKRYJ  
WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
        try
        {
                Application->Initialize();
                Application->MainFormOnTaskBar = true;
                TForm2* SplashScreen = new TForm2(Application); // okno powitalne
                SplashScreen->Show(); //<--
                SplashScreen->Update(); //<--
                Application->CreateForm(__classid(TForm1), &Form1);
                Sleep(3000); //<--
                delete SplashScreen; //<--
                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        catch (...)
        {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
        }
        return 0;
}


To Sleep jest oczywiście opcjonalne, sprawia tylko, że okno powitalne jest wogóle widoczne, ale jeżeli ładowanie aplikacji trwa dłużej to lepiej to opóźnienie usunąć.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
Corvis
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje multimedialne, graficzne

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości