Na, ez itt egy új rovat. Ami, mint a címe is mutatja, a Visual C-vel szándékozik foglalkozni.

(Hogy tudnak egyesek oldalas bevezetőket írni???!!??!)

Akkor kezdjük egy kis elrettentéssel:

A Visual C windows-os programozásra való, ezen tulajdonságánál fogva pedig erősen támaszkodik az objektumorientált programozásra. Aki nem járatos az objektumokban C-ben annak ajánlom az objektumorientált programozás C-ben (vagy valami ilyesmi) című rovatunkat.

Nézzük, eszik-e, vagy isszák.

A C++ gépfüggetlen volta, és windowsos programozásban való jó használhatósága miatt gyorsan elterjedt. A Visual C++ -t a Microsoft találta ki a windows-os programozás megkönnyítésére. A Visual Basic után dobta ki. A célja ugyanaz volt vele, a programozót megkímélni az automatizálható felesleges rabszolgamunkától, kevert nyelven is programozható grafikus fejlesztői felületet létrehozni, meggyorsítani a programfejlesztést. (És mellékesen, hogy minél több program íródjon a windows alá). A Visual C++a programfejlesztés során felmerülő egyes feladatok megoldásához különálló eszközcsoportokat ajánl fel, amik általában igen hasznosak. Szóval itt már nem arról van szó, hogy az ember leül, megírja a programot, aztán lefordítja. Hanem, az ember leül, a gép megírja a program vázát (nem vicc!) , aztán miután a programozó megírta a program lényegét, le lehet fordítani. A program váza alatt az alapvető header file-ok, Cpp file-ok, és az objektumrendszer alapja értendő. Ennyit az elméletről.

Ugorjunk egyet a mélyvízbe. Kezdjünk el egy programot.

Egy projectet (mert itt már rég nem egy-egy programfájlról van szó) a file menu new parancsával tudunk kezdeni. Lehet választani külön file, project, workspace, vagy más dokumentum. Különálló file-okat ebben a programnyelvben nem nagyon van értelme írogatni, kezdjük a project-el. Hát van egy pár fajta. Attól függően, milyen részeket istalláltunk, és milyen verziójú a Viusual -C. a legfontosabbak:

  • Win32 Application application

  • Csak Windows alatt futó, a teljes grafikus felületet az API funkciókkal kihasználó projectek hozhatók létre.
  • Win32 Dynamic-Link Library

  • Windows alatt futó programok által futás során meghívható DLL állományok létrehozására való projectek
  • Win32 Static Library

  • Saját könyvtárállomány (LIB file) létrehozására alkalmas állományok létrehozására alkalmas projectek. A projektlistán szereplő állományokból linkelt OBJ file-ok egy LIB-be gyűjtése.
  • MFC AppWizard (exe)

  • A Microsoft Foundation Classes használatával egy project létrehozásának első lépéseként a program felépítéséhez szükséges minden állományt tartalmazó Visual Workbench kompatibilis állománykészletet hoz létre, és azokból egy azonnal futtatható projektet készít.
  • MFC AppWizard (dll)

  • A Microsoft Foundation Classes használatával létrehoz egy projectet minden állományával együtt, DLL-re fordítható.
  • ATL COM AppWizard

  • ATL projectet hoz létre objektumok nélkül, azokat nekünk kell betenni a Classwiev-ból a New ATL Object paranccsal. Az MFC-t is használhatjuk.

Custom AppWizard

Egyénileg állítható minta szerint készít projectet. Választhatjuk alapul a MFC AppWizard-ot, egy már meglévő projectet, vagy magunk beállítgathatunk mindent

Azán még sorolhatnám.

Ezekkel profibbnál profibb dolgokat lehet összehozni, de válasszuk a legegyszerűbbet. Azaz, MFC AppWizard (exe). Ezzel a cuccal 4 lépésből lehet projectet csinálni. Kezdjük. Először is válasszuk ki a listáról, és írjuk be a megfelelő helyre a project nevét. Aztán jön a 4 lépés.

  • Választhatunk, Single document, Multiple Document, és Dialog Based. A legegyszerűbb a Dialog Based. Legyen Ez.
  • Itt már több minden van.

  • About box Legyen-e about
    Context-sesitive Help Minden menüponthoz lehet Helpet rendelni
    3D controls Valami ilyesmi, ha be van kapcsolva:

    Automation Lehetővé teszi más programok objaktumainak elérését
    ActiveX ActiveX vezérlés
    Windows Sockets A TCP/IP-hez kell
  • Itt már minden érthető.

  • Megkérdezi, akarunk-e commenteket, az előre elkészített file-okban. Akarjunk.
    És még egy fontos dolog.
    shared DLL futásidőben rendeli hozzá a könyvtári függvényeket. (takarékosabb)
    staticaly linked library Fordításidőben teszi meg. (hosszú lesz az exe)
  • Befejező lépésként megmutatja, milyen class-okat hozott létre, milyen néven, milyen file-ban.

Miután megnyomtuk a finish-t, kapunk még egy utolsó áttekintést a beállításokról, majd az OK megnyomásával hozza létre az Application Wizard a projectet, mindenestül. Az alábbi file-ok mindig létrehozásra kerülnek:
 
 

projetnév.clw Ezt az állományt a ClassWizard használja. Meglévő osztályok szerkesztéséhez, újak beillesztéséhez. 
projectnév.rc Ez a project erőforrásállománya, az alapbeállítás menümeghatározásait, az alapbeállítás about mezőjét és tartalmazza az ikonállomány nevét.(ez általában res/projectnév.ico)
resource.h A projecthez tartozó fejlécállomány
projectnév.dsp Maga a project file 
projectnév.dsw Workspace file

Az így létrehozott project azonnal lefordítható (build/build projectnév.exe), és elindítható (build/execute projectnév.exe).
Azért így kapásból még ne indítsuk el, nézzünk kicsit szét a képernyőn. Nagyon fontos a workspace window. Könnyen meg lehet találni, ha létrehozunk egy projectet, ez lesz az egyetlen ablak a képernyőn. Így néz ki:

Négy féle beállítás leehtséges.

ClassView (a képen), ekkor az objektumok szerkezetét, és egymáshoz való kapcsolatukat lehet nagyon jól áttekinteni. Bármelyik sorra rákattintva Megnyitja az állományt, amiben az objektum / member megtalálható (általában minden objektum saját file-ban van) , és kapásból rápozícionál. Most még ne nagyon szerkezgessünk bele, nem biztos, hogy jól sül el. Mindenesetre mély megdöbbenéssel vegyük tudomásul , hogy ugyan még egy betüt nem programoztunk, mégis megvan a programunk, minden alapvető file-al és objektummal.

ResourceView, ekkor az erőforrások szerkezetét nézhetjük meg. Ez a projectnév.rc file. Amint láthatjuk, Itt van eltárolva az összes ablak adata (hol van mekkora, holvan rajta gomb, stb...), az iconfile neve, karaktertábla, és a Version Info. Bármelyikre rákkattintunk, előjön egy megfelő szerkesztőprogram, és máris átrajzolhatjuk az icon-t/ átrakhatjuk a gombokat, és ami szem-szájnak ingere.

FileView, itt a programunk file-jait különböző csoportokra osztva látjuk. Természetesen bármelyikre kattintva, rögtön szerkeszthetjük is.

InfoView, itt mindenről információt kaphatunk, elég hatékony help.

Ezen kívül még sokminden van a képernyőn, de ezeket ráérünk később. A menü, meg a kis ikonok úgyis magától értetődőek.
Na, miután ezzel megvagyunk, akár csinálhatnánk is valamit. Menjünk a ResourceView-ra, és szerkezgessük meg a Dialog-okat. Dupla kattintás a szerkeszteni óhajtott adatra, és máris itt van egy szerkesztő.

Itt aztán bárki kedvére eljátszhat. Minden objektum külön-külön kijelölhető, mozgatható, széthúzható, átírható, törölhető, beszúrható... Szóval minden ami kell. Ha jobb gombot nyomunk egy objektumra, előjön egy menü, ahol nagyon sok fontos dolgot lehet csinálni. Másolni, kivágni, beilleszteni, kezelőfüggvényt rendelni hozzá. (Event handler) Egyenlőre ezekbe nem folyunk bele, ráérünk arra még. Ajánlom a properties menüt, ahol minden elképzelhetőt át lehet állítani.

A General-ban az ID-azonosítót adhatjuk meg, Látható lengyen-e, Megálljon -e rajta a tab, Lehet-e választani. A Legjobb a Captipon. Ide kell beírni, mi legyen a szöveg.

A Style és Extented style ablakokban az objektum stílusát adhatjuk meg. Van itt minden.

Lehet próbálkozni.

Ha meguntuk a játszást, akkor Menjünk a BUILD/BUILD projrctnév.exe (F7) menüpontra, aztán meg a BUUILD/EXECUTE projectnév.exe (CTRL-F5) menüpontra. A program működni fog. Megnézhetjük mit csináltunk.

Hát akkor ezzel már el lehet lenni egy darabig.