Programování pro Windows I

Z ωικι.matfyz.cz
(Přesměrováno z SWI036)
Přejít na: navigace, hledání
Programování pro Windows I
Kód předmětu: NSWI036
Přednáší: RNDr. Vojtěch Jákl

Odkazy[editovat | editovat zdroj]


2009/2010: stránky aktuální:

Zkouška "Programování pro Windows I."

obecné požadavky ke zkoušce
umét vysvětlit vše, co bylo odpřednášeno, tak, jako byste to měli naučit začátečníka nebo jiného programátora, který ale o programování pro Windows skoro nic neví.
Tj. důležitý je dostatečně srozumitelný návod, jaké funkce, objekty, metody a v jakém pořadí použít, které důležité informace se mezi jednotlivými kroky předávají a proč.

1.seznam témat (Win32 API i XAML)
-vztah .NET a Win32 API, struktura programu, stdafx, Application.Run, propojení XAML a Code Behind
-posílání a zpracovávání zpráv, struktura fronty zpráv
-vytvoření instance okna, určení vlastností okna, neviditelná okna, neobdélníková okna
-změna hodnot atributu v závislosti na hodnotě jiného atributu jiného prvku, nastavení společných vlastností, změna vzhledu ovládacího prvku
-reakce na práci s myší na různých úrovních, přesun okna bez titulkového řádku, určení okna reagujícího na práci s myší - standardní / nestandardní
-kreslení do okna, grafické modely, zpracování zprávy WM_PAINT, rozdíl v použití hDC podle způsobu jeho získání, volba vhodného štětce, nastavení dlaždiček, kreslení čar, Window background, text background, vykreslení bitmapy použití Memory DC, různé způsoby kreslení geometrických obrazců, způsoby vybarvování
-dvě úrovně transformací ve Win32 API
-rozdíl mezi určením tvaru a jeho vykreslením v XAML
-animace
-3D grafika

2.orientační seznam termínů, které byste přitom měli aktivně znát a používat
-Win32 API, .NET, XAML, Aero
-MSIL, WinMain, runtime, JIT compiler, WNDCLASS, RegisterClassEx, CreateWindowEx, GetMessage, DispatchMessage, handle, Form, InitializeComponent, partial class
-GetMessage, DispatchMessage, PeekMessage, SendMessage, PostMessage, myWindowProc, DefWindowProc
-CreateWindowEx, Form, Window..., InitializeComponent, WNDCLASS, RegisterClassEx, CS_DBLCLKS, CS_HREDRAW, CS_VREDRAW, WS_EX_TOPMOST, WS_EX_APPLWINDOW, WS_EXTOOLWINDOW, WS_EX_LAYERED, Alpha Blending, Color Key, GetClassLong, SetClassLong, GetWindowLong, SetWindowLong, ShowWindow, Show, Hide, Visible, invalidateRect, UpdateWindow, Region, SetWindowRgn, Style, Template
-PropertyElementSyntax, DependencyProperty, Attached property, Data Binding, Style, template
-Event, Trigger, MultiTrigger, RoutedCommands
-standardní zprávy a zprávy NC_xxx, NC_HITTEST, mouse capture
-Layered Window, alpha blending, Device Context, BeginPaint, EndPaint, GetDC, RelesaDC, Drawing, Geometry, Shape, Visual, SolidColorBrush, LinearGradientBrush, RadialGradientBrush, TileBrush, ImageBrush, DrawingBrush, VisualBrush, Stretch, TileMode, Viewport, Dasharray, DashOffset, StartLineCap, EndLineCap, DashCap, CreateCompatibleDC, SelectObject, BitBlt, StretchBlt, Path, Bezierovy křivky, FillRule
-MappingMode, World Transform, LayoutTransform, RenderTransform, ScaleTransform, TranslateTransform, RotateTransform, SkewTransform, MatrixTransform, TransformGroup
-DependencyProperties, EVentTrigger.Actions, SourceName, RoutedEvent, Storyboard (Begin, Pause Resume, Seek Stop, SkipToFill), TargetName, TargetProperty, DoubleAnimation, From, To, By, BeginTime, Duration, AutoReverse, RepeatBehavior, KeyFram animace (Discrete, Linear, Spline)
-Point3D, Vector3D, Viewport3D (GeometryModel3D, Light, Camera), MeshGeometry3D (Positions, TriangleIndices), přední a zadní strana, Material (Diffuse, Emissive, Specular), Camera (Perspective, Ortographic), Light (Ambient, Directional, Point, Spot), výpočet osvětlení (Attenuation, normal factor, DiffuseMAterial.Brush/Color/AmbientColor)

Zkouška je ústní.
Sorry za chyby.