Dodawanie kontrolek do aplikacji MFC [VC++]
Dodawanie kontrolek do
aplikacji MFC w Visual C++
autor: Kuba Bieszke
Aplikacji ma pokazać podstawowe kontrolki Windows i
ich możliwości. Kod w kolorze czerwonym oznacza dodanie tych
linijek w danym miejscu. Gotowy program można ściągnąć z
działu pliki do
skopiowania.
1. Stworzenie aplikacji dzięki kreatorowi MFC
AppWizard (exe) opartej na oknie dialogowym (1 krok kreatora). W
następnych punktach nic nie zmieniamy.
2. Edytujemy okno dialogowe (jeden z zasobów)
wstawiając odpowiednie kontrolki jak na rysunku. Dla kontrolek
Group Box, Static Text, Button, Check Box oraz Radio Button
ustawiamy w właściwościach tekst jaki ma być wyświetlony
zakładka GENERAL i własność CAPTION.
3. Ustawienia zdarzeń kontrolek (prócz Group Box,
Static Text):
dla kontrolki Edit Box: z menu View wybierz
ClassWizard..., zakłądka Member Variables, wybierz obiekt:
IDC_EDIT1 i kliknij Add Variable..., w oknie dialogowym
uzupełnij, Member variable name: m_edit, Category: Value,
Variable type: CString.
dla kontrolki Button: prawym kliknięciem na przycisku
otwórz menu i wybierz Events..., w New Windows messages/events
wybierz: BN_CLIKED, kliknj: Add and Edit, nazwij: OnPrzycisk,
przejście do kodu:
void CKontrolkiDlg::OnPrzycisk()
{
m_edit =
_T("Kliknięto PRZYCISK"); // nowy tekst
UpdateData(false); // zmaina tekstu
}
dla kontrolki Check Box: ClassWizard..., zakładka
Message Maps, wybierz obiekt: IDC_CHECK1 i Message: BN_CLICKED,
kliknij Add Function, nazwji OnWybor1, tak samo dla Check2.
Zmiana kodu:
void CKontrolkiDlg::OnWybor1()
{
m_edit =
_T("Wybrano WYBÓR 1"); // nowy tekst
UpdateData(false); // zmaina tekstu
}
void CKontrolkiDlg::OnWybor2()
{
m_edit =
_T("Wybrano WYBÓR 2"); // nowy tekst
UpdateData(false); // zmaina tekstu
}
dla kontrolki Radio Button: tak samo jak poprzednio,
nazwy: OnOpcja1, OnOpcja2.
void CKontrolkiDlg::OnOpcja1()
{
m_edit =
_T("Wybrano OPCJA 1"); // nowy tekst
UpdateData(false); // zmaina tekstu
}
void CKontrolkiDlg::OnOpcja2()
{
m_edit =
_T("Wybrano OPCJA 2"); // nowy tekst
UpdateData(false); // zmaina tekstu
}
dla kontrolki List Box: ClassWizard..., zakłądka
Member Variables, wybierz obiekt: IDC_LIST1 i kliknij Add
Variable..., w oknie dialogowym uzupełnij Member variable name:
m_lista, Category: Control, Variable type: CListBox. Przejdź do
funkcji OnInitDialog i dopisz kod:
BOOL CKontrolkiDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this
automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
m_lista.AddString("Element
1");
m_lista.AddString("Element 2");
m_lista.AddString("Element 3");
return TRUE; // return TRUE unless you set the focus to a control
}
ClassWizard..., zakładka Message Maps, wybierz,
obiekt: IDC_LIST1 i Message: LBN_DBLCLK i kliknij Add Function,
nazwji, OnDblclkLista1. Dodaj kod:
void
CKontrolkiDlg::OnDblclkLista1()
{
m_lista.GetText(m_lista.GetCurSel(),m_edit);
UpdateData(false); // zmaina tekstu
}
dla kontrolki Combo Box postępujemy jak dla List Box.
Nazwy IDC_COMBO2, m_combo. Dla OnInitDialog dopisz kod:
BOOL CKontrolkiDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this
automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
m_lista.AddString("Element 1");
m_lista.AddString("Element 2");
m_lista.AddString("Element 3");
m_combo.AddString("Element
4");
m_combo.AddString("Element 5");
m_combo.AddString("Element 6");
return TRUE; // return TRUE unless you set the focus to a control
}
Dodaj Message CBN_SELCHANGE - OnSelchangeCombo.
Dodanie kodu:
void
CKontrolkiDlg::OnSelchangeCombo()
{
m_combo.GetLBText(m_combo.GetCurSel(),m_edit);
UpdateData(false); // zmaina tekstu
}
Wyszukiwarka
Podobne podstrony:
Automatyka okrętowa – praca kontrolna 2Automatyka okrętowa – praca kontrolna 4Kontrola momentu obciążeniakontrola zakażeń zapadalności na choroby zakaźneBiofizyka kontrolka do cw nrUmowa YouTube z żydowską masońską organizacją o kontroli internetuKontroler silnika krokowego na porcie LPT2Technologia kontroli umysłówKontrola opłacania składek na fundusz pracyvw beetle kontrolka poduszki powietrznejLAMPKA KONTROLNA lk 713ARTYKUŁY KONTROLOWANIE EMOCJIwięcej podobnych podstron