Programowanie w języku Delphi

ShellAbout

//C
int ShellAbout(
    HWND hWnd,
    LPCTSTR szApp,
    LPCTSTR szOtherStuff,
    HICON hIcon
);

//Delphi
function ShellAbout(Wnd: HWND; szApp: PChar; szOtherStuff: PChar; Icon: HICON): Boolean;  


Funkcja ShellAbout wyświetla okno dialogowe z informacją o programie.

Parametry:
Wnd
Identyfikuje rodzica okna komunikatu. Parametr może posiadać wartość 0 (NULL).

szApp
Wartość ta zawiera tekst, który wyświetli się jako tytuł okna dialogowego oraz tekst ten wyświetli się w pierwszej linii okna po wyrażeniach ?Microsoft Windows? lub ?Microsoft Windows NT? (w Winows XP po tekście ?Microsoft ??). Jeśli tekst zawiera separator #, dzielący go na dwie części, to funkcja wyświetla pierwszą część jako nagłówek okna, zaś drugą jako tekst wyświetlający się w pierwszej linii okna po wyrażeniach ?Microsoft Windows? lub ?Microsoft Windows NT?.

szOtherStuff
Wartość ta zawiera tekst, który pokaże się po informacjach dotyczących wersji i praw autorskich (informacje te dotyczą Systemu operacyjnego, a nie naszego programu).

Icon
Identyfikuje ikonę, która pokaże się w oknie dialogowym.


Wartość zwracana:
Jeżeli okno dialogowe zostanie wyświetlone, funkcja zwróci wartość True, w przeciwnym wypadku wartość False.


Uwagi:
Windows 95/98/Me: Wersja Unicode funkcji (ShellAboutW) jest wspierana przez Warstwę Unicode (Microsoft Layer for Unicode) - MSLU. Aby użyć funkcji w wersji Unicode, należy dokonać pewnych zmian w aplikacji wedle wskazówek nakreślonych w Microsoft Layer for Unicode on Windows 95/98/Me Systems (eng)

 
Przykład:
uses ShellApi;
 
procedure TForm1.btnShellAboutClick(Sender: TObject);
var
  ikona : HIcon;
begin
  ikona := ExtractIcon(Handle, PChar(Application.ExeName), 0);
  ShellAbout(Handle, 'About My application#Funkcja ShellAbout', 'Copytight'
             + '? 2004 by Michał Kopacz', ikona);
end;

Wyjaśnienia wymagają funkcja ExtractIcon oraz właściwość ExeName. Funkcja ExtractIcon służy do pobrania ikony dowolnego programu. Pierwszy parametr to uchwyt okna wywołującego funkcję. W drugim parametrze należy podać pełną ścieżkę dostępu do aplikacji. Ponieważ wyświetlimy ikonę naszej aplikacji, musimy użyć właściwości ExeName obiektu TApplication, która zawiera pełną ścieżkę dostępu do naszej aplikacji. Ostatni parametr zawiera numer ikony w programie. Wartość 0 oznacza, że funkcja zwróci uchwyt pierwszej ikony. Następnie do zmiennej ikona przypisujemy uchwyt ikony zwróconej przez funkcję ExtractIcon.