Создание ActiveX-элементов средствами ATL. Добавление метода

   
На этом шаге мы рассмотрим алгоритм добавления метода.

   
Сейчас мы создадим в интерфейсе своего элемента управления метод Рlау().

  • Добавление метода Рlау().
  • В ClassView щелкните правой кнопкой мыши интерфейс IATLBandit и в открывшемся
    меню выберите Add Method.
  • В диалоговом окне Add Method to Interface в поле Method Name введите имя метода Play.
    Рис.1. Добавление метода
  • Щелкните OK, чтобы завершить создание метода.
  • Реализация метода Рlау().
  • Как и при реализации MFC-элемента OneArmedBandit, добавьте в класс CATLBandit
    следующую защищенную переменную-член :

        TCHAR m_symbols[3];
    

    В конструктор CATLBandit добавьте следующую строчку инициализации строки символов:

        _tcscpy(m_symbols, _T("JJJ"));
    
  • В ClassView раскройте узел интерфейса IATLBandit в классе CATLBandit.
  • Чтобы начать редактировать тело функции CATLBandit::Play(), дважды щелкните метод Рlау() в интерфейсе IATLBandit.
  • Добавьте в тело CATLBandit::Play() следующий код:
    STDMETHODIMP CATLBandit::Play()
    {
    	srand( (unsigned)time( NULL ) );
    
    	_tcscpy( m_symbols, _T("JJJ") );
    
    	for( int i = 0; i < 3; i++ ) 
    		m_symbols[ i ] += UINT(rand() % m_numberOfSymbols);
    		
    	// перерисовка элемента управления
    	m_spInPlaceSite->InvalidateRect( NULL, TRUE ) ; 
    
    	if( m_symbols[ 0 ] == m_symbols[ 1 ] && 
    		m_symbols[ 1 ] == m_symbols[ 2 ] )
    		Fire_Jackpot();
    
    	return S_OK;
    }
    


    Рис.2. Текст функции Play()

  • В начало файла ATLBandit.cpp вставьте следующую строку:
        #include <time.h>
    

   
Текст приложения можно взять здесь (35,3 Кб).

   
На следующем шаге мы рассмотрим создание страницы свойств.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий