Programowanie w technologii.net wykład 8 Style, listy, drzewa, toolbary, menu

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie w technologii.net wykład 8 Style, listy, drzewa, toolbary, menu"

Transkrypt

1 Programowanie w technologii.net wykład 8 Style, listy, drzewa, toolbary, menu 1/70 Podstawy Chcąc wielokrotnie wykorzystać pewne ustawienia stylu, może zdefiniować je w zasobach: <Window.Resources> <FontWeight x:key="buttonfontweight"> Bold </FontWeight> <SolidColorBrush x:key="buttonbackground"> Orange </SolidColorBrush> </Window.Resources>

2 A następnie z nich skorzystać, ustawiając własności elementów: <Button Background="{StaticResource ButtonBackground}" FontWeight="{StaticResource ButtonFontWeight}"> OK </Button> <Button Background="{StaticResource ButtonBackground}" FontWeight="{StaticResource ButtonFontWeight}"> Anuluj </Button> Problemy: Nic (poza nazwą) nie wskazuje, że te zasoby są powiązane i że powinniśmy używać ich łącznie. Korzystanie z takich zasobów wymaga dodatkowego kodu XAMLa, przez co staje się nieczytelne. Lepsze rozwiązanie, to zdefiniowanie Stylu pojedynczy Style będzie zawierał w sobie wszystkie interesujące nas własności. 2/70

3 3/70 <Window.Resources> <Style x:key="orangebutton"> <Setter Property="Control.Background" Value="Orange"/> <Setter Property="Control.FontWeight" Value="Bold"/> </Style> </Window.Resources> Tworzymy obiekt klasy System.Windows.Style. Zawiera on kolekcję Setterów jeden na własność, której wartość chcemy ustawić. Setter określa nazwę własności i wartość, jaką ma jej nadać. Każdy element WPF może używać jednego Stylu (lub żadnego) wybieramy go przez własność Style. <Button Style="{StaticResource OrangeButton}"> OK </Button> <Button Style="{StaticResource OrangeButton}"> Anuluj </Button> Możemy też ustawić to programistycznie: btnexit.style = (Style)this.FindResource("OrangeButton");

4 4/70 Styl ustawia bazowy wygląd elementu możemy to nadpisać, ustawiając daną własność w tym elemencie (przeważnie jednak, zamiast na tym polegać, będziemy definiować różne warianty stylów). Styl pozwala stworzyć grupę powiązanych ustawień i w łatwy sposób nadać je jakiemuś elementowi. Nie musimy się martwić, jakie własności on ustawia, ani wiedzieć, gdy się zmienia: <Window.Resources> <Style x:key="orangebutton"> <Setter Property="Control.Background" Value="Orange"/> <Setter Property="Control.FontWeight" Value="Bold"/> <Setter Property="Control.FontSize" Value="16"/> <Setter Property="FrameworkElement.Margin" Value="3"/> <Setter Property="Control.Padding" Value="10,3"/> </Style> </Window.Resources>

5 Własności klasy Style: Setters kolekcja Setterów i EventSetterów, ustawiających wartości własności i dołączających obsługę zdarzeń. Triggers pozwalają na automatyczną modyfikację stylu, np. w reakcji na zmianę jakiejś własności lub zdarzenie. Resources zasoby używane przez style dobrze jest definiować wewnątrz niego. BasedOn pozwala na dziedziczenie stylów. TargetType określa typ elementu, jakiego dotyczy styl; pozwala stworzyć styl, który będzie stosowany automatycznie do elementów określonego typu. 5/70

6 6/70 Tworzenie obiektu stylu Można je definiować w zasobach (na dowolnym poziomie: okna, aplikacji, kontenera, kontrolki). Można też ustawiać od razu w miejscu użycia: <Button> <Button.Style> <Style> <Setter.../> <Setter.../> </Style> </Button.Style> OK </Button> Wydaje się to mało użyteczne w wypadku setterów, ale bywa przydatne z triggerami.

7 7/70 Setters Styl zawiera kolekcję obiektów klasy Setter. Każdy Setter ustawia pojedynczą własność (tylko zależnościową!) w elemencie. Aby ustawić złożoną wartość, możemy (jak zwykle) zastąpić atrybut zagnieżdżeniem: <Setter Property="Control.Background"> <Setter.Value> <LinearGradientBrush> <GradientStop Color="AliceBlue" Offset="0"/> <GradientStop Color="SteelBlue" Offset="1"/> </LinearGradientBrush> </Setter.Value> </Setter>

8 8/70 Aby określić własność, którą chcemy ustawić, musimy podać zarówno jej nazwę jak i nazwę klasy, w której jest zawarta. Nie musi to być jednak nazwa klasy, w której jest ona zdefiniowana (może to być klasa potomna, która dziedziczy tę własność): <Style x:key="orangebutton"> <Setter Property="Button.FontWeight" Value="Bold"/> <Setter Property="Button.FontSize" Value="16"/> </Style> Działanie się nie zmieni, bo nadal odwołujemy się do tej samej własności. Pozwala to również ustawiać własności, które nie będą istnieć w elemencie używającym tego stylu.

9 9/70 Poniższy przykład nie ustawi innego stylu dla przycisku, a innego dla pola tekstowego. Własności będą ustawione dwukrotnie, zatem w efekcie otrzymamy wynik ostatniego ustawienia. Dzieje się tak, mimo iż FontSize jest deklarowane osobno w Button i TextBlock wskazują bowiem na tę samą własność zależnościową. <Style x:key="differentstyles"> <Setter Property="Button.Foreground" Value="Blue"/> <Setter Property="Button.FontSize" Value="18"/> <Setter Property="TextBox.Foreground" Value="Green"/> <Setter Property="TextBox.FontSize " Value="16"/> </Style> Jeśli wszystkie własności, które ustawiamy, dotyczą jednego typu elementów, możemy ustawić TargetType stylu: <Style x:key="orangebutton" TargetType="Button"> <Setter Property="Background" Value="Orange"/> <Setter Property="FontWeight" Value="Bold"/> </Style>

10 10/70 EventSetters Dowiązują do elementu obsługę zdarzeń. <Style x:key="orangebutton">... <EventSetter Event="UIElement.MouseEnter" Handler="element_MouseEnter"/> <EventSetter Event="UIElement.MouseLeave" Handler="element_MouseLeave"/> </Style> Metody obsługi zdarzeń: private void element_mouseenter(...) { ((UIElement)sender).FontStyle = FontStyles.Italic; } private void element_mouseleave(...) { ((Control)sender).ClearValue(Control.FontStyleProperty); }

11 Zdarzenia MouseEnter i MouseLeave nie wykorzystują tunneling i bubbling, dlatego nie moglibyśmy ustawić ich np. w kontenerze dla grupy elementów. EventSetter jest niezłym rozwiązaniem. EventSettery są rzadko wykorzystywane w WPF podobną funkcjonalność mogą zapewnić nam bowiem triggery. 11/70

12 12/70 Dziedziczenie stylów Możemy zdefiniować dowolną liczbę stylów na dowolnym poziomie. Ale jeden element może używać tylko jednego stylu. Z pomocą przychodzi dziedziczenie własności i dziedziczenie stylów. Niektóre własności są dziedziczone z kontenera (IsEnabled, IsVisible, Foreground, własności czcionek). Możemy też stworzyć nowy styl na podstawie innego (atrybut BasedOn): <Window.Resources> <Style x:key="orangebutton"> <Setter Property="Control.Background" Value="Orange"/> <Setter Property="Control.Margin " Value="3"/> <Setter Property="Control.Padding" Value="10,3"/> </Style> <Style x:key="emphasizedorangebutton" BasedOn="{StaticResource OrangeButton}"> <Setter Property="Control.FontWeight" Value="Bold"/> </Style> </Window.Resources>

13 Jeśli ponownie ustawimy tę samą własność, setter potomny nadpisze wartość z settera bazowego. Dziedziczenie stylów zwiększa złożoność, dlatego dobrze jest ograniczyć jego użycie do sytuacji gdy jeden styl jest pewnym wariantem drugiego. W pozostałych przypadkach lepiej jest tworzyć style z różnymi kombinacjami formatowania. 13/70

14 14/70 Automatyczne stosowanie stylów Aby automatycznie używać stylu do wszystkich elementów określonego typu, należy: ustawić własność TargetType, nie ustawiać klucza (WPF zrobi to za nas: x:key="{x:type Button}"). Styl będzie automatycznie używany przez wszystkie elementy określonego typu w dół drzewa elementów. <Window.Resources> <Style TargetType="Button"> <Setter Property="Background" Value="Orange"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Margin " Value="3"/> <Setter Property="Padding" Value="10,3"/> </Style> </Window.Resources> <WrapPanel> <Button>OK</Button> <Button Style="{x:Null}">Anuluj</Button> </WrapPanel>

15 15/70 Przycisk Anuluj zastępuje automatyczny styl swoim własnym ustawieniem (w tym wypadku nullem, co po prostu powoduje usunięcie stylu). W wypadku złożonych okien, kłopotliwe bywa śledzenie w jaki sposób ustawiana jest dana własność. Dlatego z automatycznych stylów lepiej korzystać oszczędnie, np. tylko aby ustawić jednakowy margines wszystkich Buttonów w kontenerze.

16 16/70 Triggers Pozwalają na automatyzację prostych zmian stylu (bez potrzeby pisania kodu) np. w reakcji na zdarzenie lub zmianę wartości. Każdy styl może mieć dowolną liczbę triggerów: obiektów klas dziedziczących z System.Windows.TriggerBase, zawartych w kolekcji Style.Triggers. Triggery mogą być użyte bezpośrednio w elementach, z pominięciem Stylu, dzięki kolekcji FrameworkElement.Triggers. Klasy dziedziczące z TriggerBase Trigger najprostszy z triggerów, reaguje na zmianę wartości własności zależnościowej. MultiTrigger jak wyżej, ale pozwala łączyć kilka warunków. DataTrigger podobny do Triggera, ale reaguje na zmianę w dowiązanych danych nei wymaga własności zależnościowej. MultiDataTrigger jak wyżej, ale dla kilku warunków. EventTrigger uruchamiają określone akcji w reakcji na zdarzenie, służą np. do wyświetlania animacji.

17 17/70 Trigger Może być dołączony do dowolnej własności zależnościwej (np. IsFocused, IsMouseOver, IsPressed). Określamy własność, która ma być obserwowana i wartość, jakiej oczekujemy. Gdy własność przyjmie tę wartość, uruchomione zostaną settery z kolekcji Trigger.Setters. Nie jest możliwe stworzenie bardziej złożonych reguł: tylko proste porównanie wartości. <Style TargetType="Button"> <Style.Setters> <Setter Property="Background" Value="Orange"/> <Setter Property="Margin " Value="3"/> <Setter Property="Padding" Value="10,3"/> </Style.Setters> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Foreground" Value="White"/> </Trigger> </Style.Triggers> </Style>

18 Kolor znaków zmieni się, gdy wskaźnik myszy znajduje się nad przyciskiem. Nie musimy deklarować powrotu do poprzedniej wartości : oryginalna wartość zostaje zapamiętana i własność do niej wraca, gdy trigger przestanie być aktywny. Możemy stworzyć kilka triggerów do jednego elementu. Jeśli ustawiają one tę samą własność, wygrywa zawsze ostatni na naszej liście (niezależnie od czasu zdarzeń). 18/70

19 19/70 <Style TargetType="Button"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Foreground" Value="White"/> </Trigger> <Trigger Property="IsFocused" Value="True"> <Setter Property="Foreground" Value="Yellow"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter Property="Foreground" Value="Magenta"/> </Trigger> </Style.Triggers> </Style> Gdy naciskamy przycisk, wygrywa IsPressed.

20 20/70 Triggery można wykorzystać do informowania o błędzie: Pola z wiązaniem danych (i walidacją!): <TextBox Text="{Binding Path=Imię, ValidatesOnDataErrors=True}"/> <TextBox Text="{Binding Path=Nazwisko, ValidatesOnDataErrors=True}"/> Trigger reaguje na Validation.HasError: <Style TargetType="{x:Type TextBox}"> <Style.Triggers> <Trigger Property="Validation.HasError" Value="True"> <Setter Property="Background" Value="Red"/> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style>

21 21/70 MultiTrigger Kolekcja Conditions pozwala zdefiniować szereg oczekiwanych wartości własności. Trigger uruchamia się tylko wówczas, gdy wszystkie one są spełnione. <Style TargetType="Button"> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsMouseOver" Value="True"/> <Condition Property="IsFocused" Value="True"/> </MultiTrigger.Conditions> <MultiTrigger.Setters> <Setter Property="Foreground" Value="White"/> </MultiTrigger.Setters> </MultiTrigger> </Style.Triggers> </Style> Kolor tekstu zostanie ustawiony tylko gdy przycisk ma focusa, a wskaźnik myszy znajduje się nad nim.

22 22/70 EventTrigger Oczekuje na odpalenie konkretnego zdarzenia i uruchamia przewidzianą akcję. Przeważnie służy to do włączania animacji. Przykład: <Style TargetType="Button">... <Style.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="FontSize" To="22" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Style.Triggers> </Style>

23 Animacja zdefiniowana jest w Storyboardzie. Animacja sprowadza się do modyfikacji własności zależniościowych w określonym czasie. W przeciwieństwie do Triggerów, nie ma automatycznego powrotu i musimy zadeklarować to sami: <Style TargetType="Button">... <Style.Triggers>... <EventTrigger RoutedEvent="Mouse.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:1" Storyboard.TargetProperty="FontSize" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Style.Triggers> </Style> Tym razem jednak nie podajemy docelowego rozmiaru czcionki, WPF uznaje zatem, że wracamy do oryginalnej wartości. 23/70

24 24/70 DataTrigger Jak triggery, ale nie wymagają własności zależnościowych. <Window.Resources> <Style x:key="dangerstyle"> <Style.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="EX"> <Setter Property="Control.Background" Value="Orange"/> </DataTrigger> </Style.Triggers> </Style> </Window.Resources> <StackPanel> <TextBox Margin="3" Style="{StaticResource DangerStyle}" /> </StackPanel>

25 25/70 Style w listach: przy pomocy ItemContainerStyle możemy wskazać styl, który będzie użyty do każdego elementu listy. <ListBox...> <ListBox.ItemContainerStyle> <Style> <Setter Property="ListBoxItem.Background" Value="LightSteelBlue" /> <Setter Property="ListBoxItem.Margin" Value="5" /> <Setter Property="ListBoxItem.Padding" Value="5" /> </Style> </ListBox.ItemContainerStyle> </ListBox>

26 26/70

27 27/70 Przy pomocy triggerów możemy formatować wygląd elementu wybranego: <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}">... <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter... /> <Setter... /> <Setter... /> </Trigger> </Style.Triggers> </Style> </ListBox.ItemContainerStyle>

28 28/70 Naprzemienne podświetlanie wierszy: AlternationCount i AlternationIndex. <ListBox AlternationCount="2"...> <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}"> <Setter Property="Background" Value="LightSteelBlue" /> <Setter Property="Margin" Value="5" /> <Setter Property="Padding" Value="5" /> <Style.Triggers> <Trigger Property="ItemsControl.AlternationIndex" Value="1"> <Setter Property="Background" Value="LightBlue" /> </Trigger> </Style.Triggers> </Style> </ListBox.ItemContainerStyle> </ListBox>

29 StyleSelector gdy chcemy nadać różny styl bazując na bardziej złożonych warunkach. Działa bardzo podobnie, jak DataTemplateSelector. 29/70

30 30/70 DataTriggery można wykorzystać również do warunkowego formatowania w szablonach danych: <DataTemplate x:key="defaultbooktemplate"> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=CategoryName}" Value="Horror"> <Setter Property="Control.Foreground" Value="Red" /> </DataTrigger> </DataTemplate.Triggers> <Border...> <Grid...>... </Grid> </Border> </DataTemplate>

31 Wady zmieniamy pojedyncze własności, testujemy tylko pojedyncze warunki. 31/70

32 DataTrigger pozwala utworzyć listę z elementami, które wyświetlają dodatkowe dane po wybraniu (a raczej ukrywają, gdy element nie jest wybrany). Należy sprawdzić wartość IsSelected elementu listy i ustawić wartość Visibility innego elementu. <DataTemplate x:key="defaultbooktemplate"> <Border..."> <Grid...> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <TextBlock... Text="{Binding Path=Title}" /> <TextBlock... Text="{Binding Path=Author}"> <TextBlock.Style> <Style>... </Style> </TextBlock.Style> </TextBlock> </Grid> </Border> </DataTemplate> 32/70

33 <Style> <Style.Triggers> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}" Value="False"> <Setter Property="TextBlock.Visibility" Value="Collapsed" /> </DataTrigger> </Style.Triggers> </Style> 33/70

34 Kontrolki list 34/70

35 35/70 Własności klasy ItemsControl: ItemsSource źródło danych (kolekcja lub DataView) DisplayMemberPath wskazuje, którą własność elementu wyświetlić ItemTemplate szablon elementu ItemTemplateSelector klasa dokonująca wyboru szablonu elementu ItemContainerStyle styl kontenera otaczającego pojedynczy element ItemContainerStyleSelector ItemsPanel panel, który przechowuje wszystkie elementy listy (zazwyczaj: pionowy StackPanel) GroupStyle styl formatowania grupy GroupStyleSelector

36 Klasa Selector dodaje możliwość wybierania elementu (ToolBar czy Menu tego nie mają) własności: SelectedItem, SelectedIndex, SelectedValue (własność Value wybranego obiektu danych, zgodnie z SelectedValuePath) selector nie daje obsługi wielokrotnego wyboru to jest dodane w ListBox, przez SelectionMode i SelectedItems zdarzenie SelectionChanged TreeView też pozwala wybierać elementy, ale (z powodu hierarchicznej struktury) działa to inaczej, choć własności nazywają się tak samo: SelectedItem, SelectedValue, SelectedValue path properties. Do tego zdarzenie SelectedItemChanged. 36/70

37 37/70 ComboBox Składa się z dwóch części: okna wyboru (ukazuje aktualny wybór) i listy rozwijalnej (wszystkie możliwe wybory).

38 38/70 Ustawienie IsEditable na true zmienia działanie: w okienku wyboru wyświetlany jest jedynie tekst zwrócony przez ToString użytkownik może wpisać tu jakąś wartość autouzupełnianie <ComboBox IsEditable="True"... />

39 39/70 ListView Umożliwia wyświetlanie różnych widoków do tych samych danych. Zwłaszcza przydaje się do tworzenia widoku wielokolumnowego. Dziedziczy z ListBox, dodając jedną własność: View. Widok to obiekt dziedziczący z ViewBase klasy przechowującej wskazanie na style: styl kontrolki listy (DefaultStyleKey) i styl elementu listy (ItemContainerDefaultStyleKey). Wydzielenie informacji o widoku daje lepszą organizację, pozwala np. wykorzystywać ten sam widok w różnych listach lub używać zamienni kilku widoków w jednej liście. WPF dostarcza jeden gotowy widok: GridView. Mamy też możliwość tworzenia własnych.

40 40/70 Dodawanie kolumn: kolekcja GridView.Columns. Header to nagłówek kolumny, a DisplayMemberBinding wiązanie obiektem danych. <ListView Name="lstBooks" Margin="3"> <ListView.View> <GridView> <GridView.Columns> <GridViewColumn Header="Tytuł" DisplayMemberBinding="{Binding Path=Title}"/> <GridViewColumn Header="Autor" DisplayMemberBinding="{Binding Path=Author}"/> <GridViewColumn Header="Cena" DisplayMemberBinding="{Binding Path=Price}"/> </GridView.Columns> </GridView> </ListView.View> </ListView>

41 Oczywiście wszystkie rzeczy, które działały dla list (konwertery, szablony) mogą być tu stosowane. Użytkownik ma możliwość zmiany kolejności kolumn i zmiany ich rozmiaru (domyślnie rozmiar jest ustalany na podstawie zawartości, o ile nie określimy ręcznie własności Width). 41/70

42 42/70 Szablony komórek Podobnie jak szablony danych dla ListBoxa, ale działa tylko dla jednej kolumny. <GridViewColumn Header="Tytuł" Width="150"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Title}" TextWrapping="Wrap"></TextBlock> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> W ten sam sposób możemy umieścić w kolumnach dowolne elementy, np. obrazek z poprzedniego wykładu (ImagePathConverter). Ponieważ szablony kolumn nie mogą być używane w innym miejscu, przeważnie definiuje się je inline. GridViewColumn.CellTemplateSelector pozwala na ustawienie selectora szablonu. GridViewColumn.Header pozwala na zdefiniowanie wyglądu nagłówka; GridViewColumn.HeaderTemplate pozwala na wybór szablonu dla nagłówka lub GridView.ColumnHeaderTemplate na wybór jednego szablonu dla wszystkich.

43 43/70

44 44/70 DataGrid Oferuje wielokolumnowy widok z edycją. Przeznaczony do wyświetlania całych tabel danych. Podstawowe wykorzystanie jest bardzo proste: <DataGrid Name="data"/> I w kodzie: data.itemssource = books;

45 45/70 RowDetailsTemplate pozwala na prezentację dodatkowych informacji w wierszu: <DataGrid Name="data" SelectionMode="Single"> <DataGrid.RowDetailsTemplate> <DataTemplate> <TextBlock Margin="10" FontWeight="Bold" Text="{Binding Price}"/> </DataTemplate> </DataGrid.RowDetailsTemplate> </DataGrid> Wypełnienie kolekcji DataGrid.Columns pozwala na własne definicje kolumn: <DataGrid Name="data" SelectionMode="Single" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="Title" Binding="{Binding Title}"/> <DataGridTextColumn Header="Author" Binding="{Binding Author}"/> </DataGrid.Columns> </DataGrid>

46 46/70

47 47/70 TreeView Wspiera wiązanie danych. TreeView to specjalizowana kontrolka listy, która zawiera elementy TreeViewItem. TreeViewItem to nie kontrolka zawartości, ale kolejna kontrolka listy, która może zawierać kolejne elementy TreeViewItem. TreeViewItem dziedziczy z HeaderedItemsControl, która dodaje własność Header. Prosty przykład ręcznej definicji drzewa: <TreeView> <TreeViewItem Header="Filmy"> <TreeViewItem Header="Komedie"/> <TreeViewItem Header="Dramaty"/> <TreeViewItem Header="Seriale"/> </TreeViewItem> <TreeViewItem Header="Książki"> <TreeViewItem Header="Fantasy"/> <TreeViewItem Header="Science fiction"/> <TreeViewItem Header="Horror"/> </TreeViewItem> </TreeView>

48 Podobnie, jak w wypadku ListBox, nie musimy budować drzewa z elementów TreeViewItem. Jednak przeważnie najlepiej jest opakowywać swoje obiekty w TreeViewItem, a zawartość do wyświetlenia udostępniać przez TreeViewItem.Header. 48/70

49 49/70 TreeView i wiązanie danych Podobnie, jak wypadku pozostałych kontrolek listy, wystarczy ustawić własność ItemsSource. Wypełnia to jednak tylko pierwszy poziom drzewa: public class Category { public string Name { get; set; } public Category(string name) { Name = name; } } <Grid> <TreeView Name="drzewo" DisplayMemberPath="Name" /> </Grid>

50 50/70 private void Window_Loaded(object sender, RoutedEventArgs e) { List<Category> lst = new List<Category>(); lst.add(new Category("Fantasy")); lst.add(new Category("Science fiction")); lst.add(new Category("Horror")); } drzewo.itemssource = lst;

51 51/70 Dodajmy książki do kategorii: public class Category { public string Name { get; set; } public Category(string name) { Name = name; books = new List<Book>(); } private List<Book> books; public List<Book> Books { get { return books; } } }

52 52/70 private void Window_Loaded(object sender, RoutedEventArgs e) {... lst[0].books.add(new Book("Gra o tron", "George R.R. Martin", 45M)); lst[0].books.add(new Book("Straż nocna", "Terry Pratchett", 27.5M)); lst[0].books.add(new Book("Czarnoksiężnik z Archipelagu", "Ursula K. Le Guin", 19.9M));... } Aby wyświetlić zawartość kategorii, potrzebny jest szablon, który może obsłużyć dane hierarchiczne: <TreeView Name="drzewo"> <TreeView.ItemTemplate> <HierarchicalDataTemplate> <TextBlock Text="{Binding Path=Name}" /> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>

53 53/70 To wyświetli tylko nazwę kategorii. HierarchicalDataTemplate może zawierać kolejny szablon a kolekcja elementów z pierwszego poziomu może być przekazana do kolejnego poziomu. Własność ItemsSource określa własność, która zawiera elementy dzieci. <TreeView Name="drzewo"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Path=Books}"> <TextBlock Text="{Binding Path=Name}" /> <HierarchicalDataTemplate.ItemTemplate > <DataTemplate> <TextBlock Text="{Binding Path=Title}" /> </DataTemplate> </HierarchicalDataTemplate.ItemTemplate> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>

54 Drzewo posługuje się teraz dwoma osobnymi szablonami dla pierwszego i drugiego poziomu. Drugi szablon wykorzystuje wybrany element pierwszego, jako źródło danych. 54/70

55 55/70 Szablony możemy też przenieść do zasobów i wybierać na podstawie typów, a nie zagnieżdżenia: <Window.Resources> <HierarchicalDataTemplate DataType="{x:Type local:category}" ItemsSource="{Binding Path=Books}"> <TextBlock Text="{Binding Path=Name}"/> </HierarchicalDataTemplate> <HierarchicalDataTemplate DataType="{x:Type local:book}"> <TextBlock Text="{Binding Path=Title}" /> </HierarchicalDataTemplate> </Window.Resources> <Grid> <TreeView Name="drzewo"> </TreeView> </Grid>

56 Pozwala to również na kolejne zagnieżdżenia elementów w drzewie. Np. tak: public class Category { public string Name { get; set; } public Category(string name) { Name = name; books = new List<object>(); } private List<object> books; public List<object> Books { get { return books; } } }... lst[1].books.add(new Category("podkategoria")); ((Category)lst[1].Books[3]).Books.Add(new Book(...)); ((Category)lst[1].Books[3]).Books.Add(new Book(...)); ((Category)lst[1].Books[3]).Books.Add(new Book(...)); 56/70

57 Tworzenie gałęzi na żądanie: Jeśli drzewo zawiera dużą ilość danych, możemy nie wypełniać od razu wszystkich podkategorii, a odwlec to do czasu rozwinięcia gałezi przez użytkownika. TreeViewItem odpala zdarzenia Expanded i Collapsed, które na o tym informują. Można to wykorzystać, by wypełnić listę danymi. Początkowo, każda kategoria powinna zawierać jakiś wypełniacz, aby wyświetlony został plus, który umożliwi jej rozwinięcie. W obsłudze zdarzenia Expanded możemy wczytać potrzebne dane i wypełnić nimi kategorię. 57/70

58 58/70 Menu Mamy dostępne dwie kontrolki: Menu (menu aplikacji) i ContextMenu (menu kontekstowe). Menu: Podlega zwyczajnym regułom rozmieszczania elementów (przeważnie jest na szczycie DockPanela lub w pierwszym wierszu Grida). Można dodać dowolną liczbę menu. Własność IsMainMenu ustawiona na true powoduje, że menu dostanie focusa po naciśnięciu klawisza Alt lub F10. Menu zachowało wszelkie cechy kontrolek listy (wiązanie danych, szablony danych, grupowanie, style itemów, etc.) MenuItem Menu składa się z obiektów klas MenuItem oraz Separator. Klasa MenuItem dziedziczy z HeaderedItemsControl. Separator to po prostu pozioma linia, nie reagująca na wejście użytkownika. Menu możemy (teoretycznie) wypełniać dowolnymi elementami (ale lepiej nie przesadzać).

59 <Menu DockPanel.Dock="Top"> <MenuItem Header="File"> <MenuItem Header="New"></MenuItem> <MenuItem Header="Open"></MenuItem> <MenuItem Header="Save"></MenuItem> <Separator></Separator> <MenuItem Header="Exit"></MenuItem> </MenuItem> <MenuItem Header="Edit"> <MenuItem Header="Undo"></MenuItem> <MenuItem Header="Redo"></MenuItem> <Separator></Separator> <MenuItem Header="Cut"></MenuItem> <MenuItem Header="Copy"></MenuItem> <MenuItem Header="Paste"></MenuItem> </MenuItem> </Menu> Można używać znaku podkreślenia, aby oznaczyć skrót z Altem. Reakcja na kliknięcie w element Menu: zdarzenie MenuItem.Click (osobno dla każdego elementu lub jeden handler w korzeniu), system poleceń (Commands) preferowane rozwiązanie. 59/70

60 60/70 MenuItem wyświetla: tekst z własności Header, ikonę: MenuItem.Icon (przyjmuje dowolny obiekt, co pozwala na dołączenie również grafiki wektorowej), checkmark: własność MenuItem.IsChecked; jeśli ustawimy dodatkowo IsCheckable, kliknięcie na menu zmieni ten stan (niestety, nie ma automatycznej obsługi grup), skrót klawiaturowy: można go wyświetlić podając MenuItem.InputGestureText (to jest tylko tekst, nie daje żadnej obsługi tu lepiej polegać na Commands, jeśli nie chcemy robić tego ręcznie). <MenuItem Command="Open"></MenuItem> MenuItem pozwala na sprawdzenie stanu: IsChecked, IsHighlighted, IsPressed, IsSubmenuOpen. Możemy wykorzystać to np. w triggerach.

61 61/70 ContextMenu Podobnie jak Menu, przechowuje kolekcję obiektów MenuItem. Jedyna różnica nie może być umieszczone w oknie. Służy do ustawienia własności ContextMenu innych elementów (pokazuje się na prawy przycisk myszy lub Shift+F10): <TreeView...> <TreeView.ContextMenu> <ContextMenu> <MenuItem Command="Undo"/> <MenuItem Command="Redo"/> </ContextMenu> </TreeView.ContextMenu> </TreeView>

62 Menu kontekstowe domyślnie nie pokazuje się, jeśli element jest wyszarzony (isenabled równe False), ale można to zmienić ustawiając ContextMenuService.ShowOnDisabled na True. 62/70

63 63/70 Separator Służy do dzielenia elementów na grupy. Zawartość separatora można zmieniać przy pomocy szablonów pozwala to definiować własne, nieklikalne elementy menu (nawet jeśli dodamy do menu wrzucimy element nie będący MenuItem, to będzie się zachowywał jak one; Separator nie np. nie jest podświetlany). <Separator> <Separator.Template> <ControlTemplate> <Border CornerRadius="4" Padding="5" Background="Black"> <TextBlock FontWeight="Bold"> Editing Commands </TextBlock> </Border> </ControlTemplate> </Separator.Template> </Separator>

64 64/70 Niestety, Separator to nie kontrolka zawartości, zatem nie można oddzielić zawartości od formatowania i zawartość musi siedzieć w szablonie. Toolbar i StatusBar Standardowo pasek narzędzi przechowuje przyciski, a pasek statusu tekst i kontrolki, z ktorymi użytkownik nie wchodzi w interakcję (np. pasek postępu). Nie ma elementów przeznaczonych specjalnie dla paska narzędzi czy statusu można w nim umieszczać wszelkie podstawowe elementy WPF.

65 ToolBar Przeważnie zawiera obiekty typu Button, ComboBox, CheckBox, RadioButton i Separator. Button w toolbarze wygląda inaczej niż w oknie, gdyż toolbar nadpisuje domyślny styl przycisku. Własność Orientation pozwala na stworzenie pionowego toolbara. <ToolBar DockPanel.Dock="Top"> <CheckBox FontWeight="Bold">Bold</CheckBox> <CheckBox FontStyle="Italic">Italic</CheckBox> <CheckBox> <TextBlock TextDecorations="Underline"> Underline </TextBlock> </CheckBox> <Separator></Separator> <ComboBox SelectedIndex="1"> <ComboBoxItem>120%</ComboBoxItem> <ComboBoxItem>100%</ComboBoxItem> <ComboBoxItem>80%</ComboBoxItem> </ComboBox> <Separator></Separator> </ToolBar> 65/70

66 Gdy wszystkie elementy paska narzędzi nie mieszczą się w oknie, zostają przeniesione do rozwijalnego menu. Elementy trafiają automatycznie, ale możemy wskazać (przy pomocy własności dołączonej ToolBar.OverflowMode), jakie elementy nie powinny tam trafić (OverflowMode.Never), a jakie powinny być tam zawsze (OverflowMode.Always) 66/70

67 ToolBarTray Przechowuje kolekcję toolbarów (własność ToolBars) i daje możliwość ich przemieszczania przez użytkownika (o ile nie ustawiliśmy ToolBarTray.IsLocked na true). ToolBar przy pomocy własności Band może określić swoje położenie w ToolBarTray. <ToolBarTray DockPanel.Dock="Top"> <ToolBar> <Button>One</Button> <Button>Two</Button> <Button>Three</Button> </ToolBar> <ToolBar> <Button>A</Button> <Button>B</Button> <Button>C</Button> </ToolBar> <ToolBar Band="1"> <Button>Red</Button> <Button>Blue</Button> <Button>Green</Button> <Button>Black</Button> </ToolBar> </ToolBarTray> 67/70

68 68/70

69 StatusBar Może przechowywać dowolną zawartość (która zostaje automatycznie opakowana przez StatusBarItem). Nadpisuje domyślne style niektórych elementów. Używany głównie do wyświetlania statycznej informacji. Domyślnie rozmieszcza elementy od lewej do prawej. Można podmienić mu panel, aby rozmieszczać w inny sposób. <StatusBar DockPanel.Dock="Bottom"> <StatusBar.ItemsPanel> <ItemsPanelTemplate> <Grid><Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions></Grid> </ItemsPanelTemplate> </StatusBar.ItemsPanel> <TextBlock>2/10</TextBlock> <StatusBarItem Grid.Column="1"> <TextBlock>120%</TextBlock> </StatusBarItem> </StatusBar> 69/70

70 70/70

Modele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość

Modele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość WPF Programowanie w środowisku Windows Wykład 8-1 Kontrolki Modele zawartości WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość Wykład 8-2 używane przez: Button, ButtonBase,

Bardziej szczegółowo

Programownie w technologii.net wykład 6 Element Binding i Data Binding

Programownie w technologii.net wykład 6 Element Binding i Data Binding Programownie w technologii.net wykład 6 Element Binding i Data Binding 1/41 Element Binding Mechanizm, który pozwala wydobyć pewne informacje z obiektu źródłowego i zapisać je w pewnym obiekcie docelowym.

Bardziej szczegółowo

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu Rozwój aplikacji modułowych Paweł Brudnicki Moduł jest podstawową jednostką funkcjonalności. Stanowi on część, która może być niezależnie pisana, testowana a nawet wdrażana. W przewodniku dodamy niezależny

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Budowa aplikacji w technologii.net wykład 7 konwersja, walidacja, szablony, widoki

Budowa aplikacji w technologii.net wykład 7 konwersja, walidacja, szablony, widoki Budowa aplikacji w technologii.net wykład 7 konwersja, walidacja, szablony, widoki 1/85 ...

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 3 Okna i kontrolki

Programowanie obiektowe i zdarzeniowe wykład 3 Okna i kontrolki Programowanie obiektowe i zdarzeniowe wykład 3 Okna i kontrolki

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt Zadanie: Utwórz szablon rysunkowy składający się z: - warstw - tabelki rysunkowej w postaci bloku (według wzoru poniżej)

Bardziej szczegółowo

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3 DODAJEMY TREŚĆ DO STRONY 1. Dockbar, CMS + wyszukiwarka aplikacji... 2 2. Dodawanie portletów... 3 Widok zawartości stron... 3 Omówienie zawartości portletu (usunięcie ramki itd.)... 4 3. Ikonki wybierz

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Dodanie nowej formy do projektu polega na:

Dodanie nowej formy do projektu polega na: 7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

Zdarzenia i polecenia

Zdarzenia i polecenia WPF Programowanie w środowisku Windows Wykład 10-1 Zdarzenia i polecenia Wykład 10-2 Zdarzenia Metoda obsługi zdarzenia może być do niego przypisana w kodzie C# lub w XAML

Bardziej szczegółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2. Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo

Bardziej szczegółowo

Kurs programowania 2 - listy

Kurs programowania 2 - listy Kurs programowania 2 - listy Listy rozwijane (ComboBox) Listy rozwijane (rozwijalne) można tworzyć przy użyciu klasy ComboBox. W tabeli poniżej właściwości udostępniane przez tę kontrolkę. Najważniejsza

Bardziej szczegółowo

Przewodnik krok po kroku:

Przewodnik krok po kroku: Przewodnik krok po kroku: Aplikacja jest rozbudowywana. Jej podstawą jest: https://msdn.microsoft.com/enus/library/ff921174(v=pandp.40).aspx Do aplikacji dodajemy nowy moduł, który posłuży nam do dodawania

Bardziej szczegółowo

Zadanie 1. Stosowanie stylów

Zadanie 1. Stosowanie stylów Zadanie 1. Stosowanie stylów Styl to zestaw elementów formatowania określających wygląd: tekstu atrybuty czcionki (tzw. styl znaku), akapitów np. wyrównanie tekstu, odstępy między wierszami, wcięcia, a

Bardziej szczegółowo

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3 Wyższa Szkoła Ekologii i Zarządzania Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3 Slajd 1 Slajd 2 Numerowanie i punktowanie Automatyczne ponumerowanie lub wypunktowanie zaznaczonych akapitów w

Bardziej szczegółowo

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3 Wyższa Szkoła Ekologii i Zarządzania Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3 Slajd 1 Slajd 2 Numerowanie i punktowanie Automatyczne ponumerowanie lub wypunktowanie zaznaczonych akapitów w

Bardziej szczegółowo

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych. 1 2 Kontrolki standardowe WP7 Michał Ręczkowicz, Opublikowano: 2012-02-08 http://msdn.microsoft.com/pl-pl/library/rozpoczecie-pracy-z-windows-phone--kontrolki-standardowe W tym samouczku dowiesz się, jakie

Bardziej szczegółowo

DODAJEMY TREŚĆ DO STRONY

DODAJEMY TREŚĆ DO STRONY DODAJEMY TREŚĆ DO STRONY SPIS TREŚCI Pasek narzędzi i wyszukiwarka aplikacji... 2 Dodawanie portletów... 3 Widok zawartości stron... 4 Zawartość portletu... 5 Ikonki wybierz oraz dodaj zawartość stron...

Bardziej szczegółowo

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML:

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML: Lab8 WPF Zad1 : - lista z językami i flagami + wiązanie danych z obiektu przerabiana na ComboBox - fisheye przegląd obrazków lupa (obrazki umieszczone na sztywno) - wyświetlenie galerii zdjęć zapisanej

Bardziej szczegółowo

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop. 2016 Spis treści Część I Wzorzec MVVM. Podstawy XAML 7 Rozdział 1. Szybkie wprowadzenie do XAML 9 Wzorzec widoku autonomicznego 9 Tworzenie

Bardziej szczegółowo

Moduł rozliczeń w WinUcz (od wersji 18.40)

Moduł rozliczeń w WinUcz (od wersji 18.40) Moduł rozliczeń w WinUcz (od wersji 18.40) Spis treści: 1. Rozliczanie objęć procedurą status objęcia procedurą... 2 2. Uruchomienie i funkcjonalności modułu rozliczeń... 3 3. Opcje rozliczeń automatyczna

Bardziej szczegółowo

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład III W prezentacji wykorzystano fragmenty i przykłady z książki: Joe Habraken;

Bardziej szczegółowo

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt. Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym

Bardziej szczegółowo

Tworzenie bazy danych na przykładzie Access

Tworzenie bazy danych na przykładzie Access Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

6.4. Efekty specjalne

6.4. Efekty specjalne 6.4. Efekty specjalne Rozdział ten będzie poświęcony efektom specjalnym, które również znalazły swoje zastosowanie w programie MS PowerPoint 2007. Pierwszym typem efektów jaki zostanie poddany naszej analizie

Bardziej szczegółowo

Programowanie w środowisku graficznym GUI

Programowanie w środowisku graficznym GUI Programowanie w środowisku graficznym GUI 1. Wprowadzenie Język C# jest stworzony do szybkiego tworzenia aplikacji przy pomocy zintegrowanego środowiska programistycznego IDE (ang. Itegrated Development

Bardziej szczegółowo

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2013 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Spis treści 1 Informacje ogólne:... 3 1.1 Zmienne... 4 1.2

Bardziej szczegółowo

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. Lokalizacja Informacje ogólne Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. To pojęcie jest używane przez schematy szaf w celu tworzenia

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Podręczna pomoc Microsoft Power Point 2007

Podręczna pomoc Microsoft Power Point 2007 Podręczna pomoc Microsoft Power Point 2007 Animacja (przejście) slajdu... 2 Wybór przejścia slajdu... 2 Ustawienie dźwięku dla przejścia... 3 Ustawienie szybkości przejścia slajdu... 4 Sposób przełączenia

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony.

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony. Komponenty VCL TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony. ImageList - reprezentuje kolekcje obrazków o tej samej

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM Opis użytkowy aplikacji ebookreader Przegląd interfejsu użytkownika a. Okno książki. Wyświetla treść książki podzieloną na strony. Po prawej stronie

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

DARMOWA PRZEGLĄDARKA MODELI IFC

DARMOWA PRZEGLĄDARKA MODELI IFC www.bimvision.eu DARMOWA PRZEGLĄDARKA MODELI IFC BIM VISION. OPIS FUNKCJONALNOŚCI PROGRAMU. CZĘŚĆ II. Spis treści ZAKŁADKA OBIEKTY... 1 PASEK LOKALIZACJI.... 8 CASE STUDY.... 9 ZAKŁADKA OBIEKTY Zakładka

Bardziej szczegółowo

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2016 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Plan zajęć 1 Informacje ogólne dotyczące środowiska deweloperskiego

Bardziej szczegółowo

WinSkład / WinUcz 15.00

WinSkład / WinUcz 15.00 WinSkład 15.00 / WinUcz 15.00 Instrukcja obsługi interfejsu użytkownika Spis treści: 1. Filtrowanie danych... 2 1.1. Nowy filtr Wg okresu - ograniczenie liczby danych... 3 1.2. Konfiguracja filtrów...

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Klawisze funkcyjne w OpenOffice.org Writer

Klawisze funkcyjne w OpenOffice.org Writer Klawisze funkcyjne w OpenOffice.org Writer F2 Ctrl + F2 F3 Ctrl + F3 F4 Shift + F4 F5 Ctrl + Shift + F5 F7 Ctrl + F7 F8 Ctrl + F8 Shift + F8 Ctrl+Shift+F8 F9 Ctrl + F9 Shift + F9 Ctrl + Shift + F9 Ctrl

Bardziej szczegółowo

Przypisy i przypisy końcowe

Przypisy i przypisy końcowe - 1 - Przypisy i przypisy końcowe Przypisami nazywamy pewne teksty służące do podawania wyjaśnień, komentarzy, odsyłaczy do tekstu, do bibliografii itp. Edytor WORD rozróżnia dwa rodzaje przypisów: przypisy

Bardziej szczegółowo

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0 ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0 Przeznaczenie sylabusa Dokument ten zawiera szczegółowy sylabus dla modułu ECDL/ICDL Przetwarzanie tekstów. Sylabus opisuje zakres wiedzy i

Bardziej szczegółowo

Temat: Organizacja skoroszytów i arkuszy

Temat: Organizacja skoroszytów i arkuszy Temat: Organizacja skoroszytów i arkuszy Podstawowe informacje o skoroszycie Excel jest najczęściej wykorzystywany do tworzenia skoroszytów. Skoroszyt jest zbiorem informacji, które są przechowywane w

Bardziej szczegółowo

Podstawowe elementy GUI cz. 2 i 3 - zadania

Podstawowe elementy GUI cz. 2 i 3 - zadania Podstawowe elementy GUI cz. 2 i 3 - zadania Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy w plikach xml (np. strings.xml). Jest to dobra praktyka, w plikach zasobów możemy umieszczać

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. Tematy zajęć: 1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. 2. Posługiwanie się podstawowymi kontrolkami. 3. Własności i zdarzenia w WPF. 4. Zadania aplikacji. Okna. 5. Polecenia. Zasoby.

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

Edytor tekstu OpenOffice Writer Podstawy

Edytor tekstu OpenOffice Writer Podstawy Edytor tekstu OpenOffice Writer Podstawy OpenOffice to darmowy zaawansowany pakiet biurowy, w skład którego wchodzą następujące programy: edytor tekstu Writer, arkusz kalkulacyjny Calc, program do tworzenia

Bardziej szczegółowo

UONET+ moduł Dziennik

UONET+ moduł Dziennik UONET+ moduł Dziennik Jak wprowadzać do dziennika oceny cząstkowe uczniów? W systemie UONET+ oceny cząstkowe uczniów wprowadza się w module Dziennik w widoku Lekcja, na karcie Oceny lub w widoku Dziennik

Bardziej szczegółowo

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation Tworzenie interfejsu użytkownika Współpraca projektanta i programisty (XAML) Interfejsy atrakcyjniejsze graficznie (np. 3D) Aplikacje internetowe (XBAP) Użycie Layoutów

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Word 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Pasek narzędzi Szybki dostęp Te

Bardziej szczegółowo

Arkusz kalkulacyjny EXCEL

Arkusz kalkulacyjny EXCEL ARKUSZ KALKULACYJNY EXCEL 1 Arkusz kalkulacyjny EXCEL Aby obrysować tabelę krawędziami należy: 1. Zaznaczyć komórki, które chcemy obrysować. 2. Kursor myszy ustawić na menu FORMAT i raz kliknąć lewym klawiszem

Bardziej szczegółowo

I. Program II. Opis głównych funkcji programu... 19

I. Program II. Opis głównych funkcji programu... 19 07-12-18 Spis treści I. Program... 1 1 Panel główny... 1 2 Edycja szablonu filtrów... 3 A) Zakładka Ogólne... 4 B) Zakładka Grupy filtrów... 5 C) Zakładka Kolumny... 17 D) Zakładka Sortowanie... 18 II.

Bardziej szczegółowo

9 Zakup [ Zakup ] 56. 9. Zakup

9 Zakup [ Zakup ] 56. 9. Zakup 9 Zakup [ Zakup ] 56 9. Zakup Moduł zakupu działa na podobnych zasadach, które opisywaliśmy w poprzednim rozdziale: Sprzedaż. Dla uproszczenia zastosowano niemal ten sam interfejs, który tam widzieliśmy,

Bardziej szczegółowo

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze. ARKUSZ KALKULACYJNY Arkusz strona zawierająca informacje Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze. Obszar roboczy fragment ekranu, na którym dokonywane są obliczenia Wiersze

Bardziej szczegółowo

ECDL/ICDL Zaawansowane przetwarzanie tekstów Moduł A1 Sylabus, wersja 2.0

ECDL/ICDL Zaawansowane przetwarzanie tekstów Moduł A1 Sylabus, wersja 2.0 ECDL/ICDL Zaawansowane przetwarzanie tekstów Moduł A1 Sylabus, wersja 2.0 Przeznaczenie sylabusa Dokument ten zawiera szczegółowy sylabus dla modułu ECDL/ICDL Zaawansowane przetwarzanie tekstów. Sylabus

Bardziej szczegółowo

Formularze w programie Word

Formularze w programie Word Formularze w programie Word Formularz to dokument o określonej strukturze, zawierający puste pola do wypełnienia, czyli pola formularza, w których wprowadza się informacje. Uzyskane informacje można następnie

Bardziej szczegółowo

Spis treści. Warto zapamiętać...2. Podstawy...3

Spis treści. Warto zapamiętać...2. Podstawy...3 Spis treści Warto zapamiętać...2 Podstawy...3 Moduły:...12 Aktualności...12 Fotogaleria i galeria wideo...13 Download...15 Przekierowanie...16 Formularz...17 Katalog produktów...18 Komponenty...18 Pokaz

Bardziej szczegółowo

Laboratorium programowania urządzeń mobilnych

Laboratorium programowania urządzeń mobilnych Laboratorium programowania urządzeń mobilnych Wprowadzenie Hierarcha klas dla aplikacji typu Silverlight tworzonej przez Visual Studio jest następująca: Obsługa ekranu W urządzeniach z Windows Phone 7

Bardziej szczegółowo

MS Access formularze

MS Access formularze MS Access formularze Formularze to obiekty służące do wprowadzania i edycji danych znajdujących się w tabelach. O ile wprowadzanie danych bezpośrednio do tabel odbywa się zawsze w takiej samej formie (arkusz

Bardziej szczegółowo

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Aplikacje mobilne Pliki zasobów, grafiki, menu, podpinanie zdarzeń dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Pliki zasobów Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy

Bardziej szczegółowo

Makropolecenia w Excelu

Makropolecenia w Excelu Makropolecenia w Excelu Trochę teorii Makropolecenie w skrócie nazywane makro ma za zadanie automatyczne wykonanie powtarzających się po sobie określonych czynności. Na przykładzie arkusza kalkulacyjnego

Bardziej szczegółowo

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access MAKRA I PRZYCISKI Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

TWORZENIE PREZENTACJI MS POWERPOINT

TWORZENIE PREZENTACJI MS POWERPOINT TWORZENIE PREZENTACJI MS POWERPOINT Wstęp TWORZENIE PREZENTACJI MS POWERPOINT Czasami zdarza się, że zostajemy poproszeni o poprowadzenia spotkania czy szkolenia w firmie, w której pracujemy lub po prostu

Bardziej szczegółowo

Komputery I (2) Panel sterowania:

Komputery I (2) Panel sterowania: Komputery I (2) Paweł Jamer Panel sterowania: Podstawowym miejscem z którego zarządzamy ustawieniami systemu Windows jest panel sterowania. Znaleźć tam możemy wszelkiego rodzaju narzędzia umożliwiające

Bardziej szczegółowo

Adobe InDesign lab. 2 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Dokument wielostronicowy Książka Eksport do PDF... 7.

Adobe InDesign lab. 2 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Dokument wielostronicowy Książka Eksport do PDF... 7. Spis treści: 1 Dokument wielostronicowy... 2 1.1 Książka... 2 1.2 Eksport do PDF... 7 strona 1 z 7 1 Dokument wielostronicowy Poniższa instrukcja zawiera przykład procedury projektowania dokumentów wielostronicowych

Bardziej szczegółowo

Platforma VULCAN. Jak rozpocząć pracę na Platformie VULCAN? Logowanie administratora do Platformy

Platforma VULCAN. Jak rozpocząć pracę na Platformie VULCAN? Logowanie administratora do Platformy Platforma VULCAN Jak rozpocząć pracę na Platformie VULCAN? Jednostka oświatowa, w której wdrażany jest system oparty na Platformie VULCAN, otrzymuje środowisko pracy, dostępne tylko dla zalogowanych użytkowników.

Bardziej szczegółowo

Zadanie 9. Projektowanie stron dokumentu

Zadanie 9. Projektowanie stron dokumentu Zadanie 9. Projektowanie stron dokumentu Przygotowany dokument można: wydrukować i oprawić, zapisać jako strona sieci Web i opublikować w Internecie przekonwertować na format PDF i udostępnić w postaci

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI

PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI 1. OPIS OKNA 3 2. OTWIERANIE OKNA 3 3. ZAWARTOŚĆ OKNA 4 3.1. WIDOK AKTYWNE ALERTY 4 3.2. WIDOK HISTORIA NOWO WYGENEROWANYCH ALERTÓW 4 3.3. DEFINIOWANIE

Bardziej szczegółowo

Kolory elementów. Kolory elementów

Kolory elementów. Kolory elementów Wszystkie elementy na schematach i planach szaf są wyświetlane w kolorach. Kolory te są zawarte w samych elementach, ale w razie potrzeby można je zmienić za pomocą opcji opisanych poniżej, przy czym dotyczy

Bardziej szczegółowo

EXCEL TABELE PRZESTAWNE

EXCEL TABELE PRZESTAWNE EXCEL TABELE PRZESTAWNE ZADANIE 1. (3 punkty). Ze strony http://www.staff.amu.edu.pl/~izab/ pobierz plik o nazwie Tabela1.xlsx. Używając tabel przestawnych wykonaj następujące polecenia: a) Utwórz pierwszą

Bardziej szczegółowo

BAZY DANYCH Formularze i raporty

BAZY DANYCH Formularze i raporty BAZY DANYCH Formularze i raporty Za pomocą tabel można wprowadzać nowe dane, przeglądać i modyfikować dane już istniejące. Jednak dla typowego użytkownika systemu baz danych, przygotowuje się specjalne

Bardziej szczegółowo

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0 ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0 Przeznaczenie sylabusa Dokument ten zawiera szczegółowy sylabus dla modułu ECDL/ICDL Przetwarzanie tekstów. Sylabus opisuje zakres wiedzy i

Bardziej szczegółowo

I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu...

I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Formatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować

Formatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować Style Bardzo często w edytorze podczas pisania tekstu zachodzi potrzeba wielokrotnego powtórzenia czynności związanych z formatowaniem. Aby zapobiec stałemu otwieraniu okien dialogowych i wybierania stale

Bardziej szczegółowo

Sylabus Moduł 4: Grafika menedżerska i prezentacyjna

Sylabus Moduł 4: Grafika menedżerska i prezentacyjna Sylabus Moduł 4: Grafika menedżerska i prezentacyjna Niniejsze opracowanie przeznaczone jest dla osób zamierzających zdać egzamin ECDL (European Computer Driving Licence) na poziomie podstawowym. Publikacja

Bardziej szczegółowo

Formatowanie c.d. Wyświetlanie formatowania

Formatowanie c.d. Wyświetlanie formatowania Formatowanie c.d. Wyświetlanie formatowania Dzięki tej funkcji można łatwo sprawdzić, w jaki sposób został sformatowany dowolny fragment tekstu. Aby jej użyć, wybierz polecenie naciśnij Shift+F1. Na prawo

Bardziej szczegółowo

Kadry Optivum, Płace Optivum

Kadry Optivum, Płace Optivum Kadry Optivum, Płace Optivum Jak seryjnie przygotować wykazy absencji pracowników? W celu przygotowania pism zawierających wykazy nieobecności pracowników skorzystamy z mechanizmu Nowe wydruki seryjne.

Bardziej szczegółowo

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Compas 2026 Vision Instrukcja obsługi do wersji 1.07 Compas 2026 Vision Instrukcja obsługi do wersji 1.07 1 2 Spis treści Integracja...5 1.Compas 2026 Lan...5 Logowanie...7 Użytkownicy...8 Raporty...10 Tworzenie wizualizacji Widoki...12 1.Zarządzanie widokami...12

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla:

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla: Przykład 1. Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla: 24 miesięcy, 8 krajów, 5 kategorii produktów, 19 segmentów i 30 brandów. Tabela ta ma

Bardziej szczegółowo

Backend Administratora

Backend Administratora Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona

Bardziej szczegółowo

Formatowanie komórek

Formatowanie komórek Formatowanie komórek Korzystając z włączonego paska narzędziowego Formatowanie możemy, bez szukania dodatkowych opcji sformatować wartości i tekst wpisany do komórek Zmiana stylu czcionki (pogrubienie,

Bardziej szczegółowo

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0 ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Grafika menedżerska i prezentacyjna. Sylabus

Bardziej szczegółowo

Optimed24 Instrukcja ogólna

Optimed24 Instrukcja ogólna Instrukcja ogólna Dotyczy wersji: Spis treści 1. Listy rozwijane... (combobox) 3 2. Ogólne zasady... wyszukiwania 4 3. Operacje na... tabelach (gridach) 6 3.1. Grupowanie według... kolumn 11 3.2. Zapamiętywanie...

Bardziej szczegółowo

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków 4. Budowa prostych formularzy, stany sesji, tworzenie przycisków 1. Utwórz formularz tabelaryczny umożliwiający modyfikację prowadzących listę przebojów. a. Zaloguj się do systemu APEX podając znaną Ci

Bardziej szczegółowo