Rozdział 14
[ Powrót ]
Pamiętasz - w poprzednim rozdziale pisałeś przeglądarkę
plików graficznych? Teraz napiszemy inną przeglądarkę - zapraszam.
1. Umieść na formularzu komponent Panel - wymaż
jego właściwość Caption.
2. Umieść na formularzu komponent ToolBar.
2. Przejdź do zakładki 'Win 3.1'. Na Panelu umieść następujące
komponenty:
- DirectoryListBox
- FileListBox
- DriveComboBox
- FilterComboBox
3. Umieść je na Panelu w kolejności
podanej powyżej
4 We właściwości DirectoryListBox1 zmień właściwość
FileList na FileListBox1.
5. We właściwości DriveComboBox1 zmień właściwość DirList
na DirectoryListBox1.
6. We właściwości FilterComboBox1 zmień właściwość FileList
na FileListBox1
6 Właściwość Align Panelu zmień na alLeft.
7. Umieść na formularzu komponent Image, zmień
jego właściwość Align na alClient.
8. Kliknij pojedynczo na FilterComboBox1 i kliknij
na właściwość Filter. Następnie naciśnij na symbol trzykropka -
uruchomi się edytor filtrów. Po lewej stronie wpisuje się nazwę filtrów, a
po prawej sam filtr. Wymaż filtry, które są tam napisane. Po lewej stronie
wpisz np. "Pliki JPG", a po prawej: "*.jpg". Zrób tak
jeszcze z rozszerzeniem *.ico, *.wmf itp.
9. Kliknij pojedynczo na komponent FileListBox1. W Inspektorze Obiektów kliknij na zakładkę 'Events' i odnajdź pole OnClick. Kliknij dwukrotnie na obszar obok tego pola - kod zdarzenia uzupełnij następująco:
procedure TForm1.FileListBox1Click(Sender: TObject);
begin
try
Image1.Picture.LoadFromFile(FileListBox1.FileName);
except
ShowMessage('To
nie jest prawidłowy format plików.');
end;
Myślę, że objaśnienia są tu zbędne. Po prostu wyświetlony zostaje obrazek na który postawiony został kursor. Jeszcze jedna sprawa - do listy uses dodaj słówko: jpeg - pozwoli to na wyświetlanie obrazków w formaie *.jpg. (Funkcja ta niestety nie działa w Delphi 2).
Pozostało jedynie dodanie przycisków na Pasku ToolBar. Kliknij więc w jego obrębie prawym przyciskiem myszy i z menu wybierz NewButton. Stwórz w ten sposób jeszcze dwa przyciski.
Zmień właściwość Name pierwszego z nich na Save, a drugiego na Edit.
Umieść na formularzu komponent SavePictureDialog.
Treść procedury OnClick pierwszego uzupełnij tak:
if SavePictureDialog1.Execute then begin
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
4. Treść procedury 2 przycisku uzupełnij następująco:
ShellExecute(Handle,'open',PChar(FileListBox1.FileName),nil,nil,SW_SHOWMAXIMIZED);
Metoda ShellExecute otwiera dany program - w tym wypadku domyślny program graficzny jaki przypisany jest danemu rozszerzeniu. Pierwszy parametr jest uchwytem okna gdyż jest to funkcja API. Następnie następuje rzutowanie nazwy pliku FileListBox1 na PCHar. Dwa kolejne parametry to wskaźniki (będziemy mówić o nich później). Ostatni parametr otwoera okno w postaci zmaksymilizowanej. Dostępne są też SW_HIDE, SW_SHOW, SW_SHOWNORMAL, SW_SHOWMINIMALIZE.
Dodaj jeszcze do listy uses słówko SHELLAPI Program możesz
już odpalić. Pozostały jeszcze tylko kosmetyczne poprawki.
Fajnie by było gdyby na przyciskach widniały jakiś ikony, nie? Na palecie Win
32 znajduje się komponent ImageList - umieść go na komponencie.
Naciśnij dwukrotnie na niego - otworzy się edytor w którym Importujemy ikony.
Naciśnij na przycisku 'Add' i wybierz ikonę.Gdy wybierzesz dwie naciśnij na
OK. Zaznacz komponent ToolBar1, w Inspektorze Obiektów z menu Images wybierz
ImageList1. Ikony zostaną przypisane - program gotowy!
Cześć!
[ Powrót ]