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” гэсэн фараметрыг дамжуулна.
Дажгүй сайн нийтлэл болжээ. Гэхдээ програм, цонх болон бусад ойлголтуудыг классаар хэрхэн загварчлах тухай түлхүү оруулж өгөх хэрэгтэй. Энэ нийтлэлд алхамт заавар (walkthrough) их оржээ. Дахин засаад байрлуулах боломжтой юу?
ReplyDelete