Skip to main content

IT - Advanced Windows Programming

Subject name

Advanced Windows Programming

Details
Code
VSITE131
Abbrev.
NWP
ECTS
5
Year
3
Semester
Summer semester
Type
elective
NQF Level 6
Bachelor study
E-Learning
0%
Activities
IT zg - Sum 22/23
ECTS
Units
Hours
Total
T
1
15
2
30
N
0
15
1
0
L
1
12
1
30
S
0
0
0
0
PN
0
0
0
0
PT
0
1
1
0
PR
0
1
6
0
EN
0
0
0
0
ET
0
1
2
0
AL
3
1
90
90
TeachersLeaders: Nenad Čaklović, pred.
PrerequisitsNone
Content

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.

Learning objectives

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

Learning outcomes

1. Understand and explain the working principles of Windows OS and Win32 platform; the difference between console and Win32 application; the way of working and the communication of application under Windows; principles of event driven programming in relation to procedural programming.
2. Use the key parts of Win32 platforms with and without code generator; including basic modules for creating and controlling the window and dialog and advanced modules for GUI, printing or ODBC database access.
3. To design, implement and test minor to middle Win32 projects, independently- including the definition of the appearance and the application behaviour in more languages.

Competencies

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

Recommended Literature

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.

Additional Literature
lectures (T)
  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. Not defined
  15. Not defined
numeric exercises (N)
  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. Not defined
  15. Not defined
laboratory exercises (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
preliminary exam - theory (PT)
  1. Nema kolokvija.
project (PR)
  1. Student mora specificirati, izraditi, dokumentirati, testirati i prezentirati Windows aplikaciju u jeziku C++ prema svom izboru.
exam - theory (ET)
  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.
autonomus learning (AL)
  1. kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju

Klaićeva 7, 10000 Zagreb, tel. 01/3764200 fax. 01/3764264