AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Erstellen eines Delphi IDE Plugins für Delphi 2005 Personal
Tutorial durchsuchen
Ansicht
Themen-Optionen

Erstellen eines Delphi IDE Plugins für Delphi 2005 Personal

Ein Tutorial von Amnon82 · begonnen am 28. Mai 2006 · letzter Beitrag vom 29. Mai 2006
 
Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#2

Logo für den Splash von Delphi 2005

  Alt 29. Mai 2006, 18:29
Ihr könnt auch ein Logo in den Splash von Delphi 2005 setzen.
Somit können die User Euer Plugin leichter erkennen.

Dazu braucht Ihr eine Bitmap.

Die sollte 32x32 Pixel groß sein und kann 16,7 Mil. Farben haben.

Erstellt eine .rc-Datei mit folgendem Inhalt:

Code:
LOGO bitmap "NamedesBildes.bmp"
Diese könnt Ihr dann mit der brcc32.exe durch den Befehl "brcc32.exe LOGO.rc" zu einer Resource umwandlen.

Öffnet Euer Projekt und fügt die Resource hinzu.

Delphi-Quellcode:
implementation

{$R *.DFM}
{$R Logo.res}
Fügt folgende Variablen zu den globalen Variablen hinzu:

Delphi-Quellcode:
sPluginName: string;
lBitmap: Graphics.TBitmap;
Den Punkt "procedure Register;" ändert Ihr wie folgt ab:

Delphi-Quellcode:
procedure Register;
begin
  sPluginName:='Name des Plugins';
  if SplashScreenServices <> nil then
  begin
    lBitmap := Graphics.TBitmap.Create;
    try
      lBitmap.LoadFromResourceName(hInstance, 'LOGO');
      SplashScreenServices.StatusMessage(sPluginName);
      SplashScreenServices.AddPluginBitmap(sPluginName, lBitmap.Handle);
    finally
      lBitmap.Free;
    end;
  end;
  RegisterPackageWizard(TWizard.Create);
end;
Falls Euch das Logo nicht lange genug angezeigt wird, könnt Ihr die Anzeigedauer mit folgendem Code verlängern (wodurch sich aber der Start von Delphi verzögern kann!):

Delphi-Quellcode:
procedure Delay(Milliseconds: Integer);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + DWord(Milliseconds);
    while (Milliseconds > 0) and
          (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      if Application.Terminated then Exit;
      Milliseconds := Tick - GetTickcount;
    end;
  finally
    CloseHandle(Event);
  end;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz