Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов функции по нажатии кнопки 
V
    Опции темы
relok
Дата 21.4.2011, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.11.2010

Репутация: нет
Всего: нет



Здравствуйте
С MFC только ознакомляюсь.
Делал из ферстстепсов примеры. Далеко не зашел, т.к. у меня задача(для MFC) очень простая.
И вот вопросы:

1. Есть кнопка. Есть листбокс. Как по нажатии кнопки вызвать функцию MyListBox->GetCurSel();?
    Проблема в том, что пример с того сайта (первые шаги). И там у самой программы странная структура.
    Или я чего-то не понимаю.
2. Как из любой другой функции вызвать MyListBox->AddString(str);?
    
    Вопросы вроде одинаковые. Думал про public, но что-то не додумал. 
3. И вообще глупый вопрос. Как обработать один клик ЛКМ по кнопке? В примере лдаблклк. Что-то вроде OnLButtonClk . 
    Вот код:

Код

#include "afxwin.h"                        // MFC Основные и стандартные компоненты
#define IDC_MYBUTTON    100                // Идентификатор кнопки
#define IDC_MYEDIT        102                // Идентификатор поля редактирования

class CMyButton: public CButton 
{ 
public:
   afx_msg void OnLButtonUp(UINT, CPoint);
private:
   DECLARE_MESSAGE_MAP();            // таблица откликов кнопки 
};

BEGIN_MESSAGE_MAP(CMyButton, CButton)         // таблица откликов на сообщения 
ON_WM_LBUTTONUP()
END_MESSAGE_MAP()

void CMyButton::OnLButtonUp( UINT, CPoint ) 
{
   AfxMessageBox(" Rigth Button Ont Click "); 
// MyListBox->GetCurSel();//????куда это нужно вставлять?
}

class CMainWnd : public CFrameWnd
{
public:
    CMainWnd();                            // Конструктор по умолчанию    
    ~CMainWnd();                        // Деструктор 
private:    
    CMyButton* MyButton;            // Элемент управления кнопка
    CListBox* MyListBox;
};

CMainWnd::CMainWnd()
{
Create(NULL,"Step4",WS_OVERLAPPEDWINDOW,rectDefault,  NULL,NULL);                        /
MyListBox = new CListBox();    
if(MyListBox!=NULL) MyListBox->Create(LBS_HASSTRINGS|WS_VISIBLE|WS_BORDER,
 CRect(360,10,480,100), this,105);
CString str ("кот");
MyListBox->AddString("123");
MyListBox->AddString(str);

 MyButton = new CMyButton();     
 if (MyButton!=NULL) MyButton->Create("MyButton",WS_CHILD|WS_VISIBLE|SS_CENTER,
      CRect(120,10,220,50),this,IDC_MYBUTTON); 
 }

CMainWnd::~CMainWnd()
{    
    if (MyButton!=NULL)delete MyButton;        // удалить динамический объект
    if (MyListBox!=NULL)delete MyListBox;    
}


class CMyApp : public CWinApp
{
public:
    CMyApp();                            // конструктор по умолчанию
    virtual BOOL InitInstance();        // стандартная инициализация
};
CMyApp::CMyApp()                        // конструктор главного класса приложения
{}
BOOL CMyApp::InitInstance()                // стандартная инициализация
{ 
    m_pMainWnd=new CMainWnd();            // создать класс окна
    ASSERT(m_pMainWnd);                    // проверить его правильность
    m_pMainWnd->ShowWindow(SW_SHOW);    // Показать окно
    m_pMainWnd->UpdateWindow();            // Обновить окно
    return TRUE;                        // Вернуть что все нормально 
};

CMyApp theApp;    
Код



                        // запуск приложения


Это сообщение отредактировал(а) relok - 21.4.2011, 10:58
PM MAIL   Вверх
borisbn
Дата 21.4.2011, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 2
Всего: 135



sorry за  smile но с чем у тебя связан выбор изучать именно MFC ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
relok
Дата 21.4.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.11.2010

Репутация: нет
Всего: нет



со всем разобрался.

Это сообщение отредактировал(а) relok - 21.4.2011, 16:47
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.