[ Pobierz całość w formacie PDF ]
.Sytuacje te rozpoznawane s¹ ³atwo napodstawie treœci podpowiedzi, których d³uga czêœæ brzmi wtedy (odpowiednio)„Ctrl+V|Memory Recall” oraz „LCD” – to w³aœnie jest treœci¹ pierwszejinstrukcji if.Druga instrukcja if zapobiega wypisaniu na œrodkowym panelutekstu „LCD”, który pe³ni jedynie rolê identyfikacyjn¹.Dotychczasprzeœledziliœmy dzia³anie podpowiedzi zwi¹zanej z klawiszem „MR”, zobaczmy wiêcteraz, jak funkcjonuje podpowiedŸ dubluj¹ca zawartoœæ wyœwietlacza (patrzwydruk 3.11).Wydruk 3.11.Odœwie¿anie zawartoœci wyœwietlaczavoid __fastcall TMainForm::UpdateLCDScreen(const AnsiString& NewNumber,bool Constant){int NumberWidth = LCDScreen->Canvas->TextWidth(NewNumber);// parametr Constant dodany zosta³ w celu wymuszenia lewostronnego// wyrównania gdy wyœwietlana jest sta³a lub zawartoœæ pamiêciif(Operation == coComplete || Constant){if( (NumberWidth >= LCDScreen->Width)&& (LCDScreen->Alignment == taRightJustify) ){LCDScreen->Alignment = taLeftJustify;}else if( (NumberWidth < LCDScreen->Width)&& (LCDScreen->Alignment != taRightJustify) ){LCDScreen->Alignment = taRightJustify;}}else if(LCDScreen->Alignment != taRightJustify){LCDScreen->Alignment = taRightJustify;}LCDScreen->Caption = NewNumber;int pos = LCDScreen->Hint.Pos("|");int length = LCDScreen->Hint.Length();AnsiString LCDScreenHint= LCDScreen->Hint.SubString(pos, length-pos+1);LCDScreen->Hint = NewNumber + LCDScreenHint;if(NumberWidth >= LCDScreen->Width) LCDScreen->ShowHint = true;else LCDScreen->ShowHint = false;}Powy¿sza funkcja wywo³ywana jest ka¿dorazowo, gdy zawartoœæ wyœwietlacza ma siêzmieniæ w wyniku np.wprowadzenia nowej cyfry czy zmiany reprezentacjiwyœwietlania.Po dokonaniu niezbêdnych ustawieñ, zwi¹zanych z wyrównaniemwyœwietlania, nowa zawartoœæ podstawiana jest pod w³aœciwoœæ Captionwyœwietlacza (bêd¹cego etykiet¹ TLabel).Drugi parametr wywo³ania ma za zadaniewymusiæ lewostronne wyrównanie wówczas, gdy na wyœwietlaczu ma pojawiæ siêjedna z predefiniowanych sta³ych – je¿eli bowiem sta³a nie mieœci siê w ca³oœcina wyœwietlaczu, wa¿niejszy jest jej pocz¹tek ni¿ koniec.Parametr ten jestparametrem domyœlnym i mo¿na go pomin¹æ w wywo³aniu – zak³ada siê wówczas, i¿ma on wartoœæ false, zgodnie z deklaracj¹ funkcji:void __fastcall UpdateLCDScreen(const AnsiString& NewNumber,bool Constant = false);Je¿eli funkcja UpdateLCDScreen() stwierdzi, i¿ kursor myszy znajduje siê wobrêbie wyœwietlacza, zwi¹zana z wyœwietlaczem podpowiedŸ (standardowo „|LCD”)uaktualniana jest teraz tak, i¿ jej krótka czêœæ staje siê kopi¹ zawartoœciwyœwietlacza.Aby ograniczyæ wyœwietlenie podpowiedzi tylko do tych przypadków,gdy zawartoœæ wyœwietlacza staje siê zbyt du¿a, by móg³ on pokazaæ j¹ wca³oœci, ustawiana jest odpowiednio w³aœciwoœæ ShowHint wyœwietlacza:if(NumberWidth >= LCDScreen->Width) LCDScreen->ShowHint = true;else LCDScreen->ShowHint = false;Kontrola migracji skupienia pomiêdzy elementami interfejsuJednym z najwa¿niejszych czynników, warunkuj¹cych wygodê obs³ugi aplikacji,jest sposób przekazywania jej danych wejœciowych.W aplikacjach dla Windows – igeneralnie innych aplikacjach sterowanych zdarzeniami i zorientowanych naobs³ugê graficzn¹ – pierwszorzêdne znaczenie ma sposób obs³ugi klawiatury
[ Pobierz całość w formacie PDF ]
Linki
- Strona startowa
- Miecz mroków 03 Triumf Miecza Mroków Weis Margaret, Hickman Tracy
- Farmer Philip Jose Œwiat Rzeki 03 Mroczny wzór (2)
- Adrian Lara Rasa Œrodka Nocy 03 Przebudzenie o północy
- Anne McCaffrey Jezdzcy Smokow 03 Bialy Smok
- Timothy Zahn Trylogia Thrawna 03 Ostatni Rozkaz
- Butcher, Jim Dresden 03 Grave Peril
- Anthology Crack the Darkest Sky Wide Open
- Charlie Higson The Dead (epub)
- Antologia SF Isaac Asimov's Science Fiction
- Cornwell, Patricia Predator
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- psmlw.htw.pl