X


[ Pobierz całość w formacie PDF ]
.Okno podpowiedzi ma by� otoczone czarn� ramk� o grubo�ci czterech pikseli,wewn�trz której, na tle w kolorze wy�wietlacza, wypisany zostanie tekstpodpowiedzi.Aby uzyska� taki efekt, wype�niamy najpierw ca�e okienko czarnymkolorem:TRect Rect = ClientRect;Canvas->Brush->Color = clBlack;Canvas->FillRect(Rect);Potem centrycznie wpisujemy w nie prostok�t w kolorze wy�wietlacza, mniejszy zka�dej strony o cztery piksele; prostok�t ten jest jednak uprzednio otaczanyjednopikselow� ramk� symuluj�c� efekt trójwymiarowy � kre�leniem ramek nap�ótnie kontrolki zajmuje si� funkcja Frame3D z biblioteki VCL:Rect.Left += 4;Rect.Top += 4;Rect.Right -= 4;Rect.Bottom -= 4;Frame3D(Canvas, Rect, clBtnShadow, clBtnHighlight, 1);Canvas->Brush->Color = TColor(0xB4CDBB);Canvas->FillRect(Rect);Aby unikn�� nadmiernego zbli�enia wy�wietlanego tekstu do obramowania, nale�ydodatkowo zmniejszy� obszar wy�wietlania � o 5 pikseli u góry okna (dzi�kiczemu wy�wietlana liczba plasowa� si� b�dzie wyra�nie przy dolnej kraw�dzi, jakna wy�wietlaczu) i po jednym pikselu na pozosta�ych kraw�dziach:Rect.Left += 1;Rect.Top += 5;Rect.Right -= 1;Rect.Bottom -= 1;W tak przygotowany obszar mo�na wreszcie wpisa� tekst podpowiedzi, wyrównany(jak na wy�wietlaczu) prawostronnie:DrawText( Canvas->Handle,Caption.c_str(),-1,&Rect,DT_RIGHT|DT_NOPREFIX|DT_WORDBREAK|DrawTextBiDiModeFlagsReadingOnly() );Szczegó�ow� anatomi� okna TCalculatorHintWindow, wy�wietlaj�cego warto�� 22/7jako stosowane niekiedy przybli�enie liczby p, przedstawia rysunek 3.3.Surowy rysunek, bez opisów znajduje si� w pliku Orig-5-3.bmp.Prosz� owykonanie poszczególnych napisów i wymiarowa�, z zamian� angielskiego �pixels�na polskie �piksele� w odpowiednim przypadku, a wi�c32 piksele1 piksel5 pikseli9 pikseli16 pikseli32 piksele109 pikseli129 pikseliRysunek 3.3.Anatomia okna TCalculatorHintWindowWykorzystanie zdarzenia OnHint klasy TApplicationManipulowanie zdarzeniami klasy TApplication staje si� �atwiejsze, gdywykorzysta� do niego komponent TApplicationEvents znajduj�cy si� na stronieAdditional palety komponentów.Przypomnijmy � w momencie gdy generowane jest zdarzenie OnHint obiektuApplication, w�a�ciwo�� Hint tego� obiektu zawiera d�ug� cz�� podpowiedzi;je�eli tekst podpowiedzi nie zawiera znaku (|) (a wi�c je�eli nie podzielono gojawnie na cz�� d�ug� i krótk�), zostaje on w ca�o�ci u�yty w obydwu tychrolach.Nieco wcze�niej pokazali�my, jak w takiej sytuacji wy�wietli�w�a�ciwo�� Application�>Hint na pasku statusowym formularza, obecnie posuniemysi� nieco dalej, bowiem w naszym kalkulatorze d�uga cz�� podpowiedzirozdzielona b�dzie pomi�dzy dwa panele: �rodkowy, powielaj�cy (z nielicznymiwyj�tkami) mnemoniczne oznaczenie klawisza i prawy, zawieraj�cy informacj�nieco bardziej opisow�.Stajemy wi�c przed zadaniem takiego rozdzieleniad�ugiej cz�ci podpowiedzi, by rozdzielenie to widoczne by�o ju� w tre�ciw�a�ciwo�ci Hint odno�nej kontrolki.Nie pisali�my o tym wcze�niej, ale tylko pierwszy znak �|� wyst�puj�cy w tre�cipodpowiedzi traktowany jest jako separator oddzielaj�cy cz�� d�ug� i krótk�;wyodr�bnienie obydwu cz�ci jest zadaniem funkcji biblioteki VCL o nazwachGetShortHint() i GetLongHint(), których tre�� (w j�zyku Object Pascal)prezentuje si� nast�puj�co:function GetShortHint(const Hint: string): string;varI: Integer;beginI := AnsiPos('|', Hint);if I = 0 thenResult := HintelseResult := Copy(Hint, 1, I - 1);end;function GetLongHint(const Hint: string): string;varI: Integer;beginI := AnsiPos('|', Hint);if I = 0 thenResult := HintelseResult := Copy(Hint, I + 1, Maxint);end;Nast�puj�ce ich deklaracje znajduj� si� w pliku nag�ówkowymInclude\Vcl\controls [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl
  • Drogi użytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

    Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

     Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

     Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

    Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.