Naziv predmeta

Napredno Windows programiranje

Detalji
Kod
VSITE131
Skr.
NWP
ECTS
5
Godina
3
Semester
Ljetni semestar
Vrsta
izborni
Razina HKO 6
Preddiplomski studij
E-Learning
0%
Aktivnosti
IT zg - Zim 19/20
ECTS
Jedinice
Sati
Svega
P
1
15
2
30
A
0
15
1
0
L
1
12
1
30
S
0
0
0
0
KA
0
0
0
0
KP
0
1
1
0
PR
0
1
6
0
IP
0
0
0
0
IU
0
1
2
0
SU
3
1
90
90
NastavniciNositelji: Nenad Čaklović, pred.
PreduvjetiNema
Sadržaj

Win32 arhitektura: Windows operacijski sustav, DLL-ovi, Win32 API, Kernel, Win32 upravljanje memorijom. Win32 programiranje: Win32 programski tok, SDK windows programi, windows verzije, MFC. Dinamički vezane biblioteke: razlika dinamičkog i statičkog povezivanja, eksplicitno i implicitno povezivanje. Niti (threads): Win32 procesi i niti, enkapsulacija niti, nitna sinkronizacija, sigurnost niti. Win 32 procesi: kreiranje, sinkronizacija, terminiranje procesa. Standardne windows kontrole: Win32 standardne kotrole, MFC klase standardnih kontrola. Windows sistemski registar, Win32 registry API. Napredna Document/View arhitektura. Document obrasci, višestruke document i view klase. Napredni izbornici i alatne trake: dinamički izbornici i alatne trake. Napredni GDI: transformacija koordinata, skroliranje, ispis, metafiles, bitmape.

Ciljevi učenja

Opća.
Programiranje upravljano događajima. Višejezično programiranje, Unicode. GUI. MDI aplikacije. Pristup bazama podataka.

Posebna.
Win32: kreiranje aplikacija; komunikacija prema OS-u i drugim aplikacijama; resursi; GDI.
MFC: osnove rada i korištenja; generatori koda, podrška u MS Visual Studio; podrška za ispis

Ishodi učenja

1. Razumjeti i objasniti principe rada Windows OS-a i platforme Win32; razliku između konzolne i Win32 aplikacije; način rada i komunikaciju aplikacija pod Windowsima; principe programiranja upravljanog događajima (event driven) u odnosu na proceduralno programiranje.
2. Koristiti ključne dijelove Win32 platforme sa i bez generatora koda; uključujući osnovne module za kreiranje i kontrolu prozora i dijaloga te napredne module za GUI, ispis ili ODBC pristup bazama podataka.
3. Samostalno dizajnirati, implementirati i testirati manje do srednje Win32 projekte - uključujući definiciju izgleda i ponašanja aplikacije na više jezika

Sposobnosti

Kolegij pruža specijalistička znanja s područja programiranja kao nadogradnju jezgre računarstva i osposobljava polaznika za generiranje složenih korisničkih programa za operacijski sustav Windows

Preporučena literatura

1. Richter, Jeffrey: «Programming Application for Microsoft Windows», Microsoft Press, 1999.2. Petzold, Charles: «Programming Windows», Fifth edition, Microsoft Press, 1999. 3. Prosise, Jeff: «Programming Windows with MFC», Second edition, Microsoft Press, 1999. 4. Kruglinski, David J; Wingo, Scot; Sheperd, George: «Programming Microsoft Visual C++», Fifth edition, Microsoft Press, 1998.

Dodatna literatura
predavanja (P)
  1. 1. UVOD 1.1. Glavni program 1.2. Tipovi podataka
  2. 2. PROZORI 2.1. Klase prozora 2.2. Kreiranje prozora 2.3. Procedura prozora 2.4. Poruke, petlja poruka
  3. 3. RESURSI 3.1. Vrste resursa 3.2. Datoteka sa resursima 3.3. Kreiranje i učitavanje resursa: ikona, kursor, tekst, prečica, izbornik, novi tip
  4. 4. DIJALOZI 4.1. Procedura dijaloga 4.2. Modalni dijalog 4.3. Kontrole, upotreba kontrola 4.4. Nemodalni dijalog 4.5. Standardni dijalozi
  5. 5. SETOVI ZNAKOVA 5.1. Unicode 5.2. Tip wchar_t, korištenje TCHAR-a
  6. 6. PORUKE SA ULAZNIH UREĐAJA 6.1. Tipkovnica 6.2. Miš 6.3. Mjerač vremena
  7. 7. GRAFIKA 7.1. Poruka WM_PAINT 7.2. Device context, svojstva, spremanje 7.3. Selektiranje objekata 7.4. Grafički objekti: olovka, četka, font, regija 7.5. Funkcije za crtanje: linija, područja, teksta 7.6. Načini punjenja, crtanja, preslikavanja
  8. 8. MFC BIBLIOTEKA 8.1. Povijesni razvoj 8.2. Osnovne klase: CWnd, CWinApp 8.3. Mapa poruka 8.4. Čarobnjaci u VisualStudiu
  9. 9. DIJALOZI U MFC-U 9.1. Klasa CDialog 9.2. Modalni i standardni dijalozi 9.3. Klase CPropertyPage i CPropertySheet 9.4. Kontrole, upotreba kontrola, DDX, DDV 9.5. Poruka WM_NOTIFY
  10. 10. ARHITEKTURA DOKUMENT-POGLED 10.1. Osnove arhitekture 10.2. Klase CDocument, CView; izvedene klase 10.3. Predlošci, klasa CSingleDocTemplate 10.4. MDI arhitektura, klasa CMultiDocTemplate
  11. 11. ŠTAMPANJE 11.1. Podrška za štampanje u MFC-u
  12. 12. DINAMIČKO KONFIGURIRANJE PROGRAMA 12.1. Registrar 12.2. Konfiguracijska datoteka
  13. 13. PRISTUP BAZAMA PODATAKA 13.1. Pristup preko ODBC-a 13.2. Klasa CDatabase, CRecordset 13.3. Iteriranje, filtriranje, RFX
  14. Nije definirano
  15. Nije definirano
auditorne vježbe (A)
  1. 1. UVOD 1.1. Glavni program 1.2. Tipovi podataka
  2. 2. PROZORI 2.1. Klase prozora 2.2. Kreiranje prozora 2.3. Procedura prozora 2.4. Poruke, petlja poruka
  3. 3. RESURSI 3.1. Vrste resursa 3.2. Datoteka sa resursima 3.3. Kreiranje i učitavanje resursa: ikona, kursor, tekst, prečica, izbornik, novi tip
  4. 4. DIJALOZI 4.1. Procedura dijaloga 4.2. Modalni dijalog 4.3. Kontrole, upotreba kontrola 4.4. Nemodalni dijalog 4.5. Standardni dijalozi
  5. 5. SETOVI ZNAKOVA 5.1. Unicode 5.2. Tip wchar_t, korištenje TCHAR-a
  6. 6. PORUKE SA ULAZNIH UREĐAJA 6.1. Tipkovnica 6.2. Miš 6.3. Mjerač vremena
  7. 7. GRAFIKA 7.1. Poruka WM_PAINT 7.2. Device context, svojstva, spremanje 7.3. Selektiranje objekata 7.4. Grafički objekti: olovka, četka, font, regija 7.5. Funkcije za crtanje: linija, područja, teksta 7.6. Načini punjenja, crtanja, preslikavanja
  8. 8. MFC BIBLIOTEKA 8.1. Povijesni razvoj 8.2. Osnovne klase: CWnd, CWinApp 8.3. Mapa poruka 8.4. Čarobnjaci u VisualStudiu
  9. 9. DIJALOZI U MFC-U 9.1. Klasa CDialog 9.2. Modalni i standardni dijalozi 9.3. Klase CPropertyPage i CPropertySheet 9.4. Kontrole, upotreba kontrola, DDX, DDV 9.5. Poruka WM_NOTIFY
  10. 10. ARHITEKTURA DOKUMENT-POGLED 10.1. Osnove arhitekture 10.2. Klase CDocument, CView; izvedene klase 10.3. Predlošci, klasa CSingleDocTemplate 10.4. MDI arhitektura, klasa CMultiDocTemplate
  11. 11. ŠTAMPANJE 11.1. Podrška za štampanje u MFC-u
  12. 12. DINAMIČKO KONFIGURIRANJE PROGRAMA 12.1. Registrar 12.2. Konfiguracijska datoteka
  13. 13. PRISTUP BAZAMA PODATAKA 13.1. Pristup preko ODBC-a 13.2. Klasa CDatabase, CRecordset 13.3. Iteriranje, filtriranje, RFX
  14. Nije definirano
  15. Nije definirano
laboratorijske vježbe (L)
  1. minimalni Win32 program, kreiranje prozora, poruke
  2. C++ klase za male Win32 aplikacije
  3. dijalozi, proširenje biblioteke sa klasama za dijaloge
  4. obrada poruka miša i tipkovnice, jednostavna igra sa vođenjem broda
  5. osnove GDI-a, aplikacija za crtanje isprekidanih linija
  6. Win32 aplikacija koja iscrtava šahovnicu; konfigurabilni broj i boja polja
  7. Win32 aplikacija koja iscrtava tablicu množenja; konfigurabilna veličina tablice i font
  8. Win32 aplikacija koja iscrtava sinusoidu; konfigurabilni interval i legenda
  9. Win32 aplikacija koja crta cvijet iscrtavajući uzastopne krugove u XOR načinu crtanja; konfigurabilni broj i boja krugova
  10. Win32 aplikacija koja iscrtava bitovnu reprezentaciju teksta; konfigurabilni tekst i font
  11. MFC dijalog aplikacija sa upravljanjem standardnim kontrolama
  12. MFC MDI aplikacija sa više vrsta pogleda na dokument;
  13. MFC aplikacija koja pristupa bazi podataka preko ODBC-a sa podrškom za štampanje
kolokvij - teorija (KP)
  1. Nema kolokvija.
projekt (PR)
  1. Student mora specificirati, izraditi, dokumentirati, testirati i prezentirati Windows aplikaciju u jeziku C++ prema svom izboru.
ispit - teorija (IU)
  1. Ispit se polaže preko projekta. Konačna ocjena se formira na osnovu ocjene laboratorijskih vježbi, ocjena stečenih tijekom nastave na osnovu kratkih testova te ocjene praktičnog rada.
samostalno učenje (SU)
  1. kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju