C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 10. Добавление кнопочки к окну / Уроки MFC / Visual C++

Visual C++. MFC
Урок 10. Добавление кнопочки к окну

Давайте теперь расположим в нашем окне какой-нибудь элемент управления. Например, кнопочку. Для кнопок в MFC существует класс CButton. Добавим в наш оконный класс переменную типа CButton:

class CMyMainWnd : public CFrameWnd{
public:
    CButton m_btn1;
    ...

Но наличие переменной типа CButton ещё не означает, что у нас кнопочка появится на нашем окне. Для того, чтобы она появилась, мы должны её создать. Делаем мы это с помощью метода Create. Метод этот принадлежит классу CButton. Теперь вопрос, а где и когда мы можем создать нашу кнопку? Давайте создадим её при создании нашего окна. Для достижения этого мы должны написать обработчик для события WM_CREATE (он будет называться OnCreate). Делаем это. Добавляем функцию в класс:

}
    ~CMyMainWnd(){
        KillTimer(1);
        KillTimer(2);
    }
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Добавляем макрос в карту сообщений:

...
ON_WM_TIMER()
ON_WM_CREATE()
END_MESSAGE_MAP()

Добавляем реализацию нашей функции:

int CMyMainWnd::OnCreate(LPCREATESTRUCT lpCreateStruct){
    m_btn1.Create("My Button", WS_VISIBLE|WS_CHILD,
        CRect(0,0,130,40), this, 1200);
    return 0;
}

Метод Create класса CButton имеет несколько параметров. Первый - это надпись на кнопке ("My Button"). Второй - стили кнопки. Мы указали, что кнопка должна быть видима (ну ещё бы!) и что кнопка будет подчинёным окном (стиль WS_CHILD). Если стилей несколько, то вы соединяете их с помощью побитового или (|). Следующий параметр определяет прямоугольник, который наша кнопка займёт (Координаты левого верхнего и правого нижнего углов). Здесь мы создаём безымянный объект типа CRect - класса MFC для прямоугольников. Предпоследний параметр (this) - это указатель на родительское окно. Так как наша кнопка должна принадлежать нашему окну, то мы и пишем this (так как мы находимся в оконном классе). И, наконец, последний параметр - это идентификатор кнопки. Мы написали 1200, но можно написать любое число. Важно, чтобы оно было уникальным. У каждого объекта должен быть свой идентификатор. Мы будем его использовать на следующем уроке.

Запускаем нашу программу. В окне появилась кнопка:

Окно с кнопкой