MFC 7.0-ийн классуудын шатлал

MFC-ийн классын сангийн ерөнхий классууд болон тодорхойлолтууд
CObject MFC-ийн ихэнх класуудын үндсэн класс.
CcmdTarget Windows API-ийн message буюу зурвасын классуудыг encapsule хийсэн буюу багцалсан. Хэрвээ message-тэй холбоотой class үүсгэх бол энэ class-аас удамшуулна.
- Сobject классаас удамшсан
- Win32 зурвасуудыг хангадаг
CWinApp MFC windows application-ийг байгуулах, эхлүүлэх, ажлуулах, зогсоох зэрэг үйлдлийг зохион байгуулах класс.
- Application хязгаар доторхи өгөгдлүүдийг хадгалдаг
- Standart cursor болон icon рүү хандана
- Windows Registry ба *.ini файлууд руу хандана
CWnd Windows API функцууд, өгөгдлийн төрлүүд болон цонх байгуулахад хэрэглэгдэх бусад классуудыг encapsule хийсэн.
- CcmdTarget-аас удамшсан.
- Бүх цонхны үндсэн класс ба доорхи классууд удамшина
· CView класс
· CDialog класс
· CPropertySheet класс
· CSplitterWnd класс
· CControlBar класс
· CFrameWnd класс
- Цонхны хэмжээ болон байрлал өөрчлөх
- CWnd классын ерөнхий хэрэглэгдэх функцууд
· ShowWindow –Цонхыг харуулах функц бөгөөд үндсэн 10 параметр авах боломжтой үүнээс SW_HIDE буюу цонхыг нуух, SW_SHOW буюу цонхыг харуулах параметрыг ихэнхдээ хэрэглэдэг
· SetWindowText- Цонхны title bar дээр гарах гарчгийг тохируулна
· GetwindowText- Цонхны title bar дээр гарах гарчгийг буцаана
· MoveWindow- Цонхыг шинэ байрлалд шилжүүлнэ
· SetFont –Цонхон дээр гарах текстийн фонтыг тодорхойлно

Control болон түүний классууд
BUTTON control- класс нь CButton.
Button-ы 3 төрөл байдаг
1. Push Button- дарагддаг button
2. Radio Button- Групплэгдсэн button-уудаас нэгийг сонгох
3.CheckBox- Групплэгдсэн button-уудаас олноор нь сонгох
EDIT control-класс нь CEDIT
LIST-BOX ба COMBO-BOX –класс нь CListBox
List Box нь их хэмжээний сонгогддог item-үүдийн жагсаалтыг агуулах ба олон item-ийг сонгож болох ба default үедээ 1 item-ийг сонгоно
MFC AppWizard
MFC нь цонх болон түүн дээрхи control-уудыг классаар загварчилдгийг дээрхи классуудаас харлаа. Тиймээс application буюу программ хийхийн тулд үүсгэх классуудаа project дотор нэгтгэж өгөх хэрэгтэй. MFC AppWizard нь энэхүү project-ийг автоматаар үүсгэнэ. Wizard нь project файлын систем болон бүтэц мөн project доторх файлуудын функциональ хамаарлыг бий болгодог.
Шинээр project үүсгэх дараалал
1. File menu à New --> Project tab сонгоход New диалог box –ийг харуулах ба MFC AppWizard(exe) сонгоод Project Name textbox-д Project-ийн нэрийг оруулаад OK товчин дээр дарна.
2. Application-ы төрлийг сонгох цонх гарч ирэх ба 3 төрлийн Application үүсгэх боломжтой.
· Single document- Ганц л document-тай ажиллана
· Multiple Document- Олон document-тай ажиллах боломжтой
· Dialog- Dialog-тай ажиллах
3. Finish товчийг дарснаар default тохируулгатай application үүснэ. Хэрэглэгч мөн Next товчийг даран default тохируулгыг өөрчилж болно.
Үүний үр дүнд AppWizard нь Application-ы төрлөөс хамааран доорхи классуудыг автоматаар үүсгэнэ.
- Single Document - CNameApp, CNameDoc, CNameView, CNameFrame
· CNameApp класс нь Application класс бөгөөд CWinApp классаас удамшина
· CNameDoc класс нь CDocument классаас удамших Document класс ба Application-ийг удирдах классуудыг удирдана
· CNameView – CView классаас удамших View класс ба хэрэглэгч рүү document-ийн тухай мэдээллийг харуулах ба document ба хэрэглэгчийн хоорондох харилцааг удирдана
· CNameFrame класс нь CFrmWnd классаас удамших Frame класс
- Multiple document- CNameDoc, CNameView, CNameFrame үүсгэхээс гадна CChildFrame классыг үүсгэнэ
- Dialog Based – CNameApp, CNameDlg
Multiple document болон Single Document –ийг үүсгэхэд menu автоматаар үүснэ.
Энэ нь dialog учраас menu-гүй байна.
- Class View буюу программд хэрэглэгдэх классууд болон түүний гишүүн өгөгдөл болон функцуудыг харуулна Хэрэв программд шинээр class нэмэх бол View--> ClassWizard сонгох буюу Ctrl+W гэсэн гарны хослолыг дарж шинээр класс үүсгэх, үүссэн класс дээр шинээр гишүүн функц болон гишүүн өгөгдөл нэмнэ.
- Программд хэрэглэгдэж буй нөөцүүдийг харуулна. Dialog, Menu, Icon, string table гэх мэт resource-уудыг харуулна. Хэрэв программд шинээр resource нэмэх бол InsertàResource сонгох буюу Ctrl+R даран оруулах боломжтой
- Үүссэн файлуудыг харуулна
- Client Area буюу хэрэглэгчийн талбар
- Control-уудыг агуулсан toolbox
Eрөнхий хэрэглэгдэх control-ууд

Control-уудыг үүсгэх болон класстай холбох
Control үүсгэхийн тулд хэрэглэгдэх control-уудаа toolbox-оос mouse-ны зүүн товчин дээр даран чирж client area буюу хэрэглэгчийн форм дээр байрлуулах ба control-ын шинжтэй холбоотой өөрчлөлтүүдийг control-ийн дээр баруун товч даран үүсэх menu-ний properties руу орж өөрчилнэ. Харин control-ийг класстай холбохдоо ClassWizard руу орон control-ийн үүсгэх event-ийг class-ын гишүүн функцтэй эсвэл control-ийг class-ийн гишүүн өгөгдөлтэй холбож болно. Ингэснээр class-ууд нь control-той харьцах боломжтой болно.
Button control
бөгөөд хэрэглэгч үүнийг бусад control-ын ID –тай давхцуулахгүйгээр өөрчилж болно. Button-ы загвар болон түүн дээр харагдах текстийн байрлал зэргийг Styles, Extended Styles tab доторхи тохируулгуудаас өөрчилэх боломжтой.

Button дээр дарахад үүсэх event-ийг class-ын гишүүн функцтай холбохдоо ClassWizard руу орон control-оо сонгоод Messages хэсгээс control-ын үүсгэх event-ийг сонгоод


Энд class-ын гишүүн функцын нэрийг бичиж оруулснаар классд шинээр гишүүн функцыг нэмнэ. Харин энэ функц дотор хийгдэх үйлдлээ тодорхойлохдоо


Харлуулсан хэсэгт хэрэглэгч хийх үйлдлээ тодорхойлно.
Edit Box control


Дараа нь control-оос утга авах эсвэл control руу утга дамуулахаас хамааран UpdateData гэх CWnd классын гишүүн функцыг ашиглах ба энэ функц нь dialog-ийг үүсгэхдээ өгөгдлийг тодорхойлох эсвэл dialog-оос утга буцааж авах тохиолдолд хэрэглэнэ. Энэхүү функц нь гаднаас нэг фараметр авах ба control-оос утга дамжуулах бол “true” эсрэгээр утга авах бол “false” гэсэн фараметрыг дамжуулна.