Skip to content

Reklamy google.

Karta Dialogs.

Drukuj Wyślij znajomemu
Oceny: / 0
KiepskiBardzo dobry 
Redaktor: Administrator   
19.02.2008.
Kolejne ważne komponenty w Delphi, które postaram siÄ™ opisać znajdujÄ… siÄ™ w zakÅ‚adce Dialogs. 4 pierwsze komponenty z tej zakÅ‚adki (OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog)  sÅ‚użą do operacji na plikach. Tzn otwieranie i zapis plików. Komponent  FontDialog sÅ‚uży do wybierania czcionki. Komponent ColorDialog do wyboru kolorów, PrintDialog do drukowania, PrinterSetupDialog do ustawieÅ„ drukarki oraz komponenty FindDialog do wyszukiwania ciÄ…gu znaków w tekscie, oraz ReplaceDialog do zamiany wyszukiwanego ciÄ…gu znaków na inny. To tak po krótce. Teraz postaram siÄ™ omówić wykorzystanie tych komponentów.
    Komponenty OpenDialog oraz OpenPictureDialog obsÅ‚uguje siÄ™ w identyczny sposób z tÄ… różnicÄ… że po otwarciu OpenPictureDialog mamy podglÄ…d obrazków. Do opisu części pierwszych komponentów jako przykÅ‚ad wezmÄ™ program z poprzedniego artykuÅ‚u o rysowaniu w Delphi, którego kod źródÅ‚owy można pobrać z dziaÅ‚u download (kategoria "Załączniki do artykuÅ‚ów"). W tym kodzie który wykorzystujÄ™ dzisiaj zmieniÅ‚em funkcjÄ™ rysujÄ…cÄ… kopertÄ™ dodajÄ…c do niej wypisywanie tekstu procedurÄ… TextOut(); postaraj siÄ™ tak zmodyfikować program aby na pierwszej linijce adresu nadawcy pojawiÅ‚ siÄ™ napis "www.wromanek.info" nastÄ™pnie porównaj swój kod z kodem zmodyfikowanym zawartym poniżej - to takie maÅ‚e ćwiczenie w celu przypomnienia poprzedniego artykuÅ‚u.
 
 
Kod źródÅ‚owy zmodyfikowany
 
    Otwieranie pliku. Aby otworzyć plik za pomocÄ… komponentu OpenDialog jak i OpenPictureDialog należy najpierw, poÅ‚ożyć komponent OpenPictureDialog na formie (ja bÄ™dÄ™ używaÅ‚ tego komponentu aby zaÅ‚adować jakaÅ› bitmape do komponentu Image). NastÄ™pnie do formy dodajemy przycisk Otwórz w którego zdarzenie OnClick wpisujemy:
  1. if OpenPictureDialog1.Execute then
  2. begin
  3. Image.Picture.LoadFromFile(OpenPictureDialog1.FileName);
  4. end;
 
 
Funkcja LoadFromFile znana jest z artykuÅ‚u o komponencie Image, natomiast jako parametr tej funkcji przekazujemy nazwÄ™ pliku wybranego przez komponent OpenDialog. Najlepiej zrozumieć tÄ™ funkcjÄ™ można w praktyce. Teraz kompilujÄ…c i uruchamiajÄ…c program możemy otwierać mapybitowe które bÄ™dÄ… widoczne w miejscu naszego komponentu Image. Oczywiscie jeÅ›li komponent image ma mniejsze rozmiary niż obraz który wczytujemy to obraz zostanie wyÅ›wietlony tylko częściowo. 
 
    Zapisywanie pliku. Aby zapisać plik za pomocÄ… komponentu SaveDialog lub SavePictureDialog wstawiamy odpowiedni komponent na naszÄ… formÄ™, a nastÄ™pnie dodajemy przycisk w którego zdażeniu OnClick wpisujemy analogicznie. 
 
  1. if SavePictureDialog1.Execute then
  2. begin
  3. Image.Picture.SaveToFile(SavePictureDialog1.FileName);
  4. end;
 
 
Funkcja SaveToFile też już byÅ‚a omawiana, jako argument tej funkcji przekazujemy nazwÄ™ pliku wybranego przez SavePictureDialog. Te cztery pierwsze komponenty posiadajÄ… takÄ… wÅ‚aÅ›ciwość jak  Filte, gdzie możemy dodawać lub usuwać rozszerzenia które chcemy widzieć w oknie dialogowym. Przetestować ten komponent możemy w ten sposób że najpierw klikamy przycisk rysujÄ…cy naszÄ… kopertÄ™, a nastÄ™pnie za pomoca przycisku "Zapisz" zapisujemy plik na dysku, teraz jego zawartość możemy sprawdzić dowolnÄ… przeglÄ…darkÄ… plików graficznych. 
 
    Zmiana czcionki. Do zmiany czcionki zastosujemy komponent FontDialog, aby go użyć oczywiÅ›cie najpierw kÅ‚adziemy go na naszÄ… formÄ™, nastÄ™pnie dodajemy przycisk "Czcionka" do którego zdarzenia OnClick przypisujemy kod:
  1. if FontDialog1.Execute then
  2. begin
  3. Image.Canvas.Font:=FontDialog1.Font;
  4. end;
 
 
Jak widać w kodzie źródÅ‚owym wÅ‚asnoÅ›ci Font komponentu Image  przypisujemy wartość czcionki ustawionÄ… w oknie dialogowym FontDialog. OczywiÅ›cie możemy czcionke ustawiać bardziej szczeguÅ‚owo np zmieniajÄ…c jedynie jej rozmiar:
  1. Image.Canvas.Font.Size:=FontDialog1.Font.Size;
 
 
 JeÅ›li już zmieniÅ‚eÅ› funkcjÄ™ odpowiedzialnÄ… za rysowanie koperty to teraz możesz przetestować komponent. JeÅ›li nie to wróć do poczÄ…tku artykuÅ‚u i zastÄ…p kod rysowania koperty w programie kodem znajdujÄ…cym siÄ™ na poczÄ…tku artykuÅ‚u.
 
    ColorDialog. W tym artykule jeszcze pokażę zastosowanie komponentu ColorDialog, w naszym programie bÄ™dzie miaÅ‚ on dwie funkcje - zmiana koloru tÅ‚a, oraz zmiana koloru oÅ‚ówka(rysowania). Oczywiscie jak za każdym razem na poczatku kÅ‚adziemy komponent ColorDialog na formie. NastÄ™pnie dodajemy dwa przyciski:"OÅ‚ówek" oraz "PÄ™dzel". OÅ‚ówek (ang. Pen - odpowiedzialny za rysowanie) natomiast pÄ™dzel (ang. Brush odpowiedzialny za malowanie tÅ‚a). W zdarzeniu OnClick przycisku "OÅ‚ówek" dodajemy kod:
  1. if ColorDialog1.Execute then
  2. begin
  3. Image.Canvas.Pen.Color:=ColorDialog1.Color;
  4. end;
 
 Natomiast dla przycisku "PÄ™dzel" dodajemy:
  1. if ColorDialog1.Execute then
  2. begin
  3. Image.Canvas.Brush.Color:=ColorDialog1.Color;
  4. end;
 
 MyÅ›lÄ™ że wiÄ™kszych problemów ze zrozumieniem dwóch ostatnich fragmentów nie powinno być. JeÅ›li siÄ™ mylÄ™ to piszcie a postaram siÄ™ wyjaÅ›nić. Kolejne komponenty postaram siÄ™ opisać w nastÄ™pnym artykule. Mam nadzieje że komuÅ› moje wypociny siÄ™ przydadzÄ…! Piszcie do mnie to mnie motywuje do dalszej pracy! 
 
 
Zmieniony ( 19.02.2008. )
 
nastÄ™pny artykuÅ‚ »