Sunteți pe pagina 1din 3

An.II / Sem.

I
Curs 4 Programare Interfeţe Grafice .

Programare Interfeţe Grafice


Miercuri-2.11.2005
Curs 4 (PIG4)

Crearea unei aplicaţii în C++

1.Crearea structurii aplicaţiei cu AppWizard

Poate genera până la 90% din cod, restul de cod fiind adăugat de programator.
P1. Deschidem sesiunea VC++
P2. FileNewFoaia de proprietăţi
P3. Dăm numele proiectului: circleApp, în caseta de editare Project Name şi stabilim locul de
salvare
P4. Selectăm din ProjectWindow (zona de lucru a proiectului) din partea stângă articolul
MFCAppWizard(exe)
P5. Step1  selectăm opţiunea SDI (Single Document Interface) next
P6. Step 2  None
P7. Step 3  None şi dezactivăm ActiveX Control  next, sunt facilităţi ce pot fi incluse în
aplicaţie
P8. Step 4  se lasă opţiunile implicite  Advanced. Aici se pot selecta facilităţi suplimentare:
ara de instrumente, bara de stare, elemente de comandă 3D etc
P9. Apare o foaie de proprietăţi unde se pot programa şirul de text ale documentului model şi
stilurile de fereastră ale aplicaţiei, astfel:
în fereastra File extension scriem cir
în fereastra File TypeID scriem CircleAppDocument
în fereastra Doc Type now scriem Circle
în fereastra Main frame caption scriem CircleApp
în fereastra File new name trebuie să avem Circle
în fereastra Filter name trebuie să avem Cicle Files (*.cir)
în fereastra File type name (long now) Circle Document
Se alege Close Ok
P10. Step 5 unde putem configura aplicaţia pentru a genera comentarii în fişierul sursă. Aici
aem 2 opţiuni pentru biblioteca MFC. Noi alegem o As a statically linked Library pentru ca
aplicaţia să ruleze pe orice sistem, fără a fi necesară instalarea bibliotecii MFC.dll next
P11. Step 6 Finish
P12. Apare New Project Information unde sunt afişate specificaţiile structuri proiectului Ok,
moment în care AppWizard generează codul sursă şi deschide spaţiul de lucru pentru proiect.
Astfel se închide prima etapă a creării proiectului cu structura de bază.
P13. Pentru o nouă versiune, dar dup Ok dăm FileSave All. Execuţia se face din meniul
Build Execute CircleApp.exe
Acum urmează să edităm resursele aplicaţiei după ce examinăm fişierele generate de
AppWizard pe baza opţiunilor furnizate. AppWizard a creat fişiere sau clase:
- CircleApp.h este fişierul header pentru clasa C1 cu numele CcircleApp. Aici sunt
declarate clase care sunt implementate în fişierul cu acelaşi nume dar cu extensia
*.cpp. Tot aici avem clasa pentru CaboutDlg, C2
- Fişierul CircleApp.cpp este fişierul unde sunt implementate clasele C1 şi C2
declarate în fişierul anterior. Clasa C1 are rolul de a iniţializa aplicaţia, dar se ocupă
şi de comenzile: new, open, print setup din meniul File
- Fişierul cu numele MainFrm.h pentru clasa C3 CMainFrame ce reprezintă fereastra
principală a aplicaţiei.
- MainFrm.cpp implementează clasa C3 unde se face iniţializarea ferestrei cadru, aici
se creează bara de instrumente şi cea de stare

1 din 3
An.II / Sem. I
Curs 4 Programare Interfeţe Grafice .
- CircleAppDoc.h este fişierul antet pentru clasa C4 numită CCircleAppDoc. Ea
reprezintă un document al clasei CircleApp
- A fost generat fişierul CircleApp.cpp unde se implementează clasa C4 care include
conţinutul documentului activ curent şi salează şi încarcă aceste documente
- Fişierul CircleAppView.h este fişierul antet pentru clasa C5 cu numele
CCircleAppView, şi reprezintă fereastra de afişare a aplicaţiei. Este în geeral
invizibilă, pe care MFC o poziţionează în zona client din zona principală.
- CircleAppView.cpp este fişierul unde a fost implementată clasa C5. În configuraţia
standard această clasă se ocupă şi de comenzile Print, Print Preview din meniul File
- CircleApp.rc este fişierul de resurse al aplicaţiei. În această etapă el conţine meniul,
bara de instrumente, caseta de dialog About, Pictograma, taelul de acceleratoare şi
tabelul de şiruri.

2.Completarea resurselor aplicaţiei

În această etapă se editează fişierul de resurse existent pentru a adăuga alte


resurse. Vom edita meniuri, casete de dialog, bara de instrumente şi pictograme.

2.1. Editarea meniului


P1. Selectăm eticheta Resource View a ferestrei ProjectWindow. Dăm click pe + pentru a
desface lista de resurse.
P2. Dublu click pe intrarea în meniul Menu dublu click pe IDR_MAINFRAME. Se va
deschide resursa Bară de meniuri
P3. Click pe meniul Edit şi Delete. Vom fi întrebaţi de C++ dacă dorim să ştergem meniulOk
⇒ meniul Edit dispare
P4. Click pe locul liber de pe bara de meniu şi apoi Enter. Apare foaia de proprietăţi Menu Item
Properties. În caseta Caption scriem &Circle şi Enter. Litera C din Circle a apare în meniu
subliniată, sau pronunţată, ca tastă directă cu Alt-C
P5. Enter şi apare foaia de proprietăţi Menu Item Properties, asociată poziţiei libere din meniu.
În caseta ID scriem ID_CIRCLE_CHANGECOLOR, care ne permite. Să facem schimbarea
culorii. În caseta Caption scriem Change &Color iar în caseta Prompt scriem Change the
Color \n Change Color şi apoi Enter. Vom observa că s-a introdus Change Color în meniul
Circle
Obs: VC++ atribuie comenzii elementul de identificare (la noi
ID_CIRCLE_CHANGECOLOR) care este un nume. Textul care a fost introdus înainte
de \n din Change the Color \n Change Color a fi afişat în bara de stare când cursorul se
a plasa pe butonul corespunzător comenzii de pe bara de instrumente.
P6. Pentru a introduce o nouă comandă, procedăm ca la P5. Această nouă comandă va fi pentru
schimbarea diametrului cercului: Enter ID_CIRCLE_CHANGEDIAMETERChange
&DiameterChange the Circle Diameter \n Change DiameterEnter
Obs: În cazul opţiunii pentru meniu casetele ID şi Prompt nu sunt accesibile ca în cazuk
când adăugăm submeniuri.
P7. Cu butonul stânga apăsat pe Circle tragem mouse-ul astfel încât meniul Circle să ină după
File şi eliberăm butonul.
În acest moment am terminat editarea resurselor meniului.

2.2. Editarea tabelului de acceleratori


Uele comenzi rapide nu mai sunt valabile o dată cu ştergerea unor elemente din meniu.
De exemplu am şters Edit şi comenzile corespunzătoare nu mai sunt valabile. De aceea ele
trebuie eliminate din tabelul de accelertori:
P1. Dublu click pe Accelerator din fereastra ProjectWindow
P2. Dublu click pe elementul de identificare al resursei IDR_MAINFRAME. În fereastra
resursei tabelul de acceleratori al aplicaţiei, ce conţine comenzile rapide, pot fi indicate cu

2 din 3
An.II / Sem. I
Curs 4 Programare Interfeţe Grafice .
mouse-ul şi apoi Delete. Vom şterge toate intrările, cu excepţia: ID_FILE_NEW,
ID_FILE_OPEN, ID_FILE_PRINT, ID_FILE_SAVE

2.3. Editarea casetei de dialog About CircleApp


P1. Dublu click pe Dialog din ProjectWindow, apoi dublu click pe elementul de identificare
IDD_ABOUTBOX. Se deschide caseta de dialog cu numele About CircleApp
P2. În casetă se dă click pe rândul de text Copyright© şi apoi Enter. Apare foaia de proprietăţi
Text Properties. În caseta Caption se scrie textul dorit şi apoi Enter.
P3. Folosim săgeţile pentru a muta rândul în partea inferioară a casetei.
P4 În caseta de instrumente dăm click pe Aa Static Text şi click sub rândul CircleApp V0 din
caseta About Va apare nou text static.
P5. Aând textul selectat, dăm Enter pentru a deschide foaia de proprietăţi cu numele Text
Properties. În câmpul Caption scriem ceea ce dorim şi apoi Enter. Cu săgeţile poziţionăm
textul.

===//===

3 din 3

S-ar putea să vă placă și