kontrol







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 2
Automatyka okrętowa – praca kontrolna 4
Kontrola momentu obciążenia
kontrola zakażeń zapadalności na choroby zakaźne
Biofizyka kontrolka do cw nr
Umowa YouTube z żydowską masońską organizacją o kontroli internetu
Kontroler silnika krokowego na porcie LPT2
Technologia kontroli umysłów
Kontrola opłacania składek na fundusz pracy
vw beetle kontrolka poduszki powietrznej
LAMPKA KONTROLNA lk 713
ARTYKUŁY KONTROLOWANIE EMOCJI

więcej podobnych podstron