Ferestre descendente

Previzualizare laborator:

Extras din laborator:

1.Scopul lucrarii: De studiat metodele si principiile de lucru cu ferestrele descendente si principiile

de prelucrare a mesagelor parvenite de la ferestre descendent.

2.Sarcina lucrarii: De scris un program care afişează trei figuri geometrice. Programul trebuie să prevadă:

1. Trei radio butoane, cu condiţia validării numai unuia din ele. La validarea unuia din ele, se afişează una din figurile geometrice.

2. Trei check boxes. Când unul din ele este activ, celelalte sunt dezactivate (devin de culoarea gri). Fiecărui check box i se atribuie o culoare. La validarea unui check box, figura geometrică se colorează în culoarea respectivă.

3. Două butoane push. La apăsarea unuia din ele se efectuează mişcarea figurii pe o circumferinţă, iar la apăsarea pe celălat - mişcarea figurii se opreşte (figura se opreşte şi rămâne în acea poziţie, în care era la oprirea procesului).

3. Intrebari de control:

3.1.Care este diferenţa între apelarea rutinei CreateWindow pentru o fereastră parent şi una child?

3.2.Descrieţi modul de comunicare dintre ferestrele child şi parent.

3.3.Descrieţi principalele clase de ferestre child predefinite.

3.4.Care sunt deosebirele principale în utilizarea claselor de ferestre child?

4. Raspunsuri la intrebari:

4.1 Diferenta constra in specificare WS_CHILD in funcţia de creare a ferestrei ce si indica crearea unei ferestre descendente.

4.2. Copii comunica cu parintii prin intermediul WM_COMMAN cel mai des mesaj urmarit de program trimis in wParam este 0 ce indica BN_CLICKED sau 5 BN_DOUBLECLICKED, parintii comunica cu copii prin intermediul funcţiei SendMessage(hwndchld, MES, STAREA, 0). Mesajul poate fi BM_SETSTATE BM_GETSTATE BM_GETCHECK BM_SETCHECK BM_SETSTYLE.

4.3. push buttons – simple butoane,

radio buttons – pentru specificare mai multor obtiuni si pentru alegerea doar a uneia,

list boxes – selectarea unei obtiuni dintr-o lista apăruta,

combo box - pentru a putea selecta mai multe obtiun,

edil controls - cimpuri unde poate fi introdus un mesaj, text, numar,

scroll bars - banda de derulare identica cu cea pe care o avem vertical si orinzontal la fereastra prinicipala daca indicam WS_VSROLLBAR si WS_HSCROLLBAR

4.4. Clasa de fereastra pentru ferestrele child este predefinita si in cadrul programului trebuie doar sa utilizam functia CreateWindow unde pentru argumentul ce indica clasa de fereastra specificam „button”.

5.Listingul programului (efectuat in Visual Studio 2005) :

#include "stdafx.h"

#include "Merge.h"

#include < math.h >

#include < time.h >

#define MAX 100

#define ROSU 1

#define ALBASTRU 2

#define GALBEN 3

#define RED RGB( 255, 0, 0 )

#define BLUE RGB( 0, 0, 255 )

#define YELLOW RGB( 255, 200, 0 )

#define ID_TIMER 1

#define SECUNDE 1000

#define WB_GROUPBOX_1 1

#define WB_GROUPBOX_2 2

#define WB_GROUPBOX_3 3

#define WB_RADIO_CERC 4

#define WB_RADIO_PATRAT 5

#define WB_RADIO_TRIUNGHI 6

#define WB_CHECKBOX_RED 7

#define WB_CHECKBOX_BLUE 8

#define WB_CHECKBOX_YELLOW 9

#define WB_PUSHBUTTOM_START 10

#define WB_PUSHBUTTOM_STOP 11

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

void LoadTCHAR( const char *, TCHAR *);

class GetTCHAR

{ public:

TCHAR **_list_ptr; short _id;

const short _max;

GetTCHAR()

:_max( 1024 ), _id( 0 ){_list_ptr= new TCHAR*[_max]; }

~GetTCHAR()

{ for( register int i=0; i<_id; i++ )

delete _list_ptr[i]; delete _list_ptr; }

TCHAR* push( const char *ptr )

{ _list_ptr[_id] = new wchar_t[strlen(ptr)+1];

LoadTCHAR( ptr, _list_ptr[_id] ); _id++;

return _list_ptr[_id-1]; }

TCHAR* operator []( short index )

{ return _list_ptr[index]; } };

static GetTCHAR TCHAR_Factory;

Observații:

Un laborator care exemplifica tipurile de ferestre descenedete, programul creat de la zero

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Ferestre Descendente.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
6 pagini
Imagini extrase:
6 imagini
Nr cuvinte:
1 699 cuvinte
Nr caractere:
11 467 caractere
Marime:
26.99KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Sava Nina
Sus!