Kontrolki
|
|
-
-
Kontrolki (controls) to
obiekty dające możliwośc wymiany informacji pomiędzy
użytkownikiem i aplikacją
-
Najczęściej są
umieszczane na oknach dialogowych oraz na control
bars, które z założenia są podstawowym
sposobem wymiany informacji
-
Najczęściej kontrolki są
oknami w systemie Windows (mają własne
uchwyty HWND)
[początek strony]
[początek strony]
-
-
Wiekszość standardowych
kontrolek oraz kontrolki ActiveX mogą być
dodawane do projektowanego okna dialogowego przy uzyciu edytora
zasobów
-
Do klasy okna dialogowego można
dodać składową reprezentującą kontrolkę
lub (dla niektórych standardowych kontrolek) jej zawartość
-
Istnieją dwa sposoby tworzenia
własnych kontrolek dziedziczących z klas dostępnych
w MFC
-
tworzenie i umieszczanie na
oknie dialogowym w kodzie programu (taka kontrolka nie będzie
widoczna w podglądzie tego okna dialogowego w edytorze
zasobów):
- zadeklarować własną klasę kontrolki
dziedziczącą z klasy MFC
- utworzyć obiekt własnej klasy
- utworzyć okno kontrolki w systemi Windows (przy użyciu
funkcji CWnd::Create lub CWnd::CreateEx)
- po zakończeniu używania zniszczyć okno (funkcja
CWnd::DestroyWindow)
- zniszczyć obiekt własnej klasy
-
wykorzystanie klasy bazowej (taka
kontrolka będzie widoczna w edytorze zasobów ale pod
postacią definiowaną przez klasę bazową):
- do okna dialogowego dodać kontrolkę klasy bazowej
- w CDialog::OnInitDialog wywołać CWnd::SubclassDlgItem
(np. dla przycisku m_wndMyBtn klasy CMyButton dziedziczącej
z klasy CButton: m_wndMyBtn.SubclassDlgItem(IDC_MYBTN,this))
-
Zawiadomienia (notifications)
z kontrolek
-
kontrolki są oknami
potomnymi wysyłającymi do swoich rodziców
zawiadomienia o akcjach użytkownika
-
większość
kontrolek wysyła jako zawiadomienie komunikat WM_NOTIFY
-
stare kontrolki z Windows 3.x
wysyłają zawiadomienia jako komunikaty WM_COMMAND
[początek strony]
-
-
button (klasa CButton
w MFC)
-
combo box (CComboBox)
-
edit control (CEdit)
-
list box (CListBox)
-
rich edit control (CRichEditCtrl)
-
scroll bar (CScrollBar)
-
static (CStatic)
-
animation control (CAnimationCtrl)
-
combo box ex (CComboBoxEx)
-
date and time picker (CDateTime)
-
drag list box
-
flat scroll bar
-
header control (CHeaderCtrl)
-
hot key control (CHotKeyCtrl)
-
image list (CImageList)
-
IP address (CIPAddress)
-
month calendar control (CMonthCalCtrl)
-
pager control
-
progress bar (CProgressCtrl)
-
property sheet
-
rebar control (CReBarCtrl)
-
status bar (CStatusBarCtrl)
-
tab control (CTabCtrl)
-
toolbar control (CToolBarCtrl)
-
tooltip control (CToolTipCtrl)
-
trackbar control (CSliderCtrl)
-
tree view control (CTreeCtrl)
-
up-down control (CSpinButtonCtrl)
[początek strony]
[początek strony]
|