przykl4

Trochę ciekawostek – na weekend (czego to ludzie nie wymyślą ...



























Przyk³adowa aplikacja











Dopiszemy procedurê zdarzenia mnuZegarKolor_Click, która zmieni kolor t³a formy. Wykorzystamy do tego kontrolkê i jej metodê . Podobnie jak przy zmianie czcionki, najpierw przeka¿emy bie¿±cy kolor do kontrolki , potem wywo³amy metodê a zwrócony kolor ustawimy jako kolor t³a.






Private Sub mnuZegarKolor_Click()

   cdlOknaDialogowe.Color = frmZegar.BackColor

      'przekazanie koloru do kontrolki

   cdlOknaDialogowe.ShowColor

      'wy¶wietla okno kolorów

   frmZegar.BackColor = cdlOknaDialogowe.Color

      'ustawienie nowego koloru formy

End Sub






Dopiszemy kod, który bêdzie ukrywa³ i pokazywa³ datê. Bêdzie on uruchamiany, gdy u¿ytkownik wybierze polecenie Poka¿ menu Data lub polecenie Data menu Menu (jest to menu pop-up, które bêdzie wy¶wietlane, gdy u¿ytkownik kliknie prawym klawiszem myszy na formie). Poniewa¿ polecenia te maj± takie samo znaczenie i wystêpuje przy nich znacznik V, nale¿y zadbaæ, aby wywo³anie jednego z nich mia³o wp³yw na znaczniki obydwu (je¿eli Data\Pokaz jest zaznaczone, to Menu\Data te¿ musi byæ). Kod procedury musi wiêc równocze¶nie zmieniaæ warto¶æ w³a¶ciwo¶ci obydwu poleceñ na przeciwn± (przy u¿yciu operatora ). Musi równie¿ zmieniaæ w³a¶ciwo¶æ kontrolki lblData, aby j± ukrywaæ lub pokazywaæ. Poniewa¿ na pocz±tku kontrolka lblData jest widoczna, a polecenie Data\Pokaz jest zaznaczone, wiêc wystarczy zmieniaæ w³a¶ciwo¶æ kontrolki lblData na przeciwn± równocze¶nie ze zmian± w³a¶ciwo¶ci poleceñ Data\Poka¿ i Menu\Data.

Po tym nale¿y wy³owaæ procedurê, która ustawi nowe pozycje kontrolek na formie.






Private Sub mnuDataPokaz_Click()

   mnuDataPokaz.Checked = Not (mnuDataPokaz.Checked)

   mnuMenuData.Checked = mnuDataPokaz.Checked

      'zmiana Checked menu mnuDataPokaz i mnuMenuData, które maj± takie samo

      'znacznie, na przeciwn±

   lblData.Visible = Not (lblData.Visible)

      'ukrycie lub pokazanie daty

   Call UstawEtykiety

      'ustawienie nowych pozycji etykiet

End Sub






Procedura mnuMenuData_Click, która ma wykonaæ dok³adnie tê sam± funkcjê mo¿e teraz jedynie wywo³aæ procedurê mnuDataPokaz_Click:




Private Sub mnuMenuData_Click()

   Call mnuDataPokaz_Click

End Sub






Identycznie postêpujemy w stosunku do poleceñ ukrywaj±cych i pokazuj±cych czas:






Private Sub mnuCzasPokaz_Click()

   mnuCzasPokaz.Checked = Not (mnuCzasPokaz.Checked)

   mnuMenuCzas.Checked = mnuCzasPokaz.Checked

      'zmiana Checked menu mnuCzasPokaz i mnuMenuCzas, które maj± takie samo

      'znacznie, na przeciwn±

   lblCzas.Visible = Not (lblCzas.Visible)

      'ukrycie lub pokazanie czasu

   Call UstawEtykiety

      'ustawienie nowych pozycji etykiet

End Sub





Private Sub mnuMenuCzas_Click()

   Call mnuCzasPokaz_Click

End Sub






Dodajemy kod proceury, która bêdzi ukrywaæ i pokazywaæ menu. Bêdzie ona zmieniaæ w³a¶ciwo¶æ poleceñ menu na przeciwn± przy u¿yciu operatora . Dodatkowo, gdy menu bêdzie widoczne, to polecenie "Ukryj menu" bêdzie siê zmieniaæ na "Poka¿ menu".






Private Sub mnuMenuUkryj_Click()

   mnuZegar.Visible = Not (mnuZegar.Visible)

   mnuData.Visible = Not (mnuData.Visible)

   mnuCzas.Visible = Not (mnuCzas.Visible)

      'pokazanie lub ukrycie menu

   If mnuZegar.Visible = True Then

      mnuMenuUkryj.Caption = "&Ukryj menu"

         'je¿eli menu jest widoczne to zmiana Caption menu mnuMenuUkryj

         'na "Ukryj menu"

   Else

      mnuMenuUkryj.Caption = "&Poka¿ menu"

         'je¿eli menu nie jest widoczne to zmiana Caption menu mnuMenuUkryj

         'na "Pokaz menu"

   End If

End Sub






Pozosta³o jeszcze dodanie menu pop-up, gdy u¿ytkownik kliknie prawym przyciskiem myszy. Nie mo¿na wykorzystaæ zdarzenia , poniewa¿ nie zwraca ono warto¶ci okre¶laj±cej, który przycisk zosta³ naci¶niêty. Zamiast niego nale¿y wykorzystaæ zdarzenie lub .

Procedura tego zdarzenia wykorzysta metodê formy frmZegar, aby wy¶wietliæ menu o podanej nazwie. Dla formy rozwijane bêdzie menu pop-up Menu.






Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

   If Button = vbRightButton Then

      'je¿eli wci¶niêto prawy przycisk myszy

      frmZegar.PopupMenu mnuMenu

         'rozwiniêcie menu pop-up: Menu

   End If

End Sub






Podobnie bêd± wygl±da³y procedury dla kontrolek lblData i lblCzas:






Private Sub lblCzas_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

   If Button = vbRightButton Then

      'je¿eli wci¶niêto prawy przycisk myszy

      frmZegar.PopupMenu mnuCzas

         'rozwiniêcie menu pop-up: Czas

   End If

End Sub





Private Sub lblData_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

   If Button = vbRightButton Then

      'je¿eli wci¶niêto prawy przycisk myszy

      frmZegar.PopupMenu mnuData

         'rozwiniêcie menu pop-up: Data

   End If

End Sub






To ju¿ ca³y kod jaki nale¿a³o dodaæ do aplikacji.

Kolejny etap to uruchomienie (znalezienie ewentualnych b³êdów i edycja).



Nastêpnie wybieramy polecenie Project1 Properties z menu . W oknie dialogowym w polu Project Name wpisujemy Zegar, w polu Project Description opis programu. Dodatkowe paramety mo¿emy ustaliæ na zak³adce Make. Zatwierdzamy przyciskiem OK. Mo¿emy jeszcze zmieniæ w³a¶ciwo¶æ formy i wybieramy polecenie Make Zegar.exe menu . Wybieramy ¶cie¿kê i nazwê pliku i zatwierdzamy OK. Visual Basic skompiluje projekt do pliku wykonywalnego, który bêdzie dzia³a³ bez ¶rodowiska Microsft Visual Basic.



Mo¿na równie¿ jeszcze rozbudowaæ aplikacjê. Mo¿na np. wymusiæ, aby zegar by³ zawsze wy¶wietlany na wierzchu (nad wszystkimi innymi dzia³aj±cymi aplikacjami), mo¿na dorobiæ kod, który bêdzie automatycznie uruchamia³ zegar przy w³±czaniu Windows, lub mo¿na wykorzystaæ rejestr systemu, aby przechowywaæ ustawienia u¿ytkownika i zawsze uruchamiaæ zegar z takimi atrybutami, jakie ustawi³ sobie u¿ytkownik.



Przyk³ady dzia³ania aplikacji:
















































Poprzednia |
Wy¿ej |
Strona g³ówna |
Spis Tre¶ci |
Index hase³ |
Opis VB












  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • strefamiszcza.htw.pl
  • Copyright (c) 2009 TrochÄ™ ciekawostek – na weekend (czego to ludzie nie wymyÅ›lÄ… ... | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.