172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
|||||||||||
1 | |||||||||||
Добавление строки в список по нажатию кнопки09.05.2010, 23:14. Показов 2676. Ответов 13
Метки нет (Все метки)
Пишу свое первое приложение средствами MFC. До этого прогал в с++ билдере
Вот создаю кнопку и листбокс:
В событии нажатия кнопки нельзя я так понял написать PList.add.......... так как листбокс объявлен в CMainWnd(), это "не глобально" В С++ Builder я бы смог сделать так:
Помогите плз как это все делаеться
0
|
09.05.2010, 23:14 | |
Ответы с готовыми решениями:
13
Добавление строки в таблицу по нажатию кнопки Добавление текстбоксов по нажатию клавиши и удаление по нажатию другой кнопки Разбить строку на слова по нажатию первой кнопки, отсортировать список слов по нажатию второй Добавление записей по нажатию кнопки |
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
09.05.2010, 23:21 | 2 |
VorteX:
Уже начал разработку WinAmp желаю удачи. Добавлено через 2 минуты Совет: плеер тебе будет делать удобнее на основе диалгового окна.
0
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
|
09.05.2010, 23:21 [ТС] | 3 |
Просто учу вижуал на примере создание плеера, как раз познакомлюсь с CButton, CListBox, CSlider
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
09.05.2010, 23:24 | 4 |
Если объект объявлен в классе окна, значит можешь его спокойно и использовать в своей
функции: окна.
0
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
||||||
09.05.2010, 23:28 [ТС] | 5 | |||||
Ну вот класс окна:
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
09.05.2010, 23:33 | 6 |
Что бы добавить обработчик кнопки: то есть функцию обработки нажатия,
у кнопки должен быть идентификатор.
0
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
|
09.05.2010, 23:36 [ТС] | 7 |
Вы не поняли. Все есть, и функция нажатия есть.
Проблема в том как обратиться к моему листбоксу если он создан CMainWnd::CMainWnd(), и обращаться кнему могу ток в этой функции
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
09.05.2010, 23:41 | 8 | |||||
Добавлено через 2 минуты Ну а если с другой функции, опишите и реализуйте функцию с параметром, ListBox* ptr. Вызывайте эту функцию передавая в нее адрес Вашего Listbox -A Добавлено через 1 минуту void func(CListBox* list) { //действия } И почему это не прокатывает, может я суть вопроса не понял.
0
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
||||||
09.05.2010, 23:41 [ТС] | 9 | |||||
Я ток начал знакомиться с этим вижуалом и туплю постоянно=) И зачем этот идентификатор? Что он мне дает и как его испольховать в своей задаче
Может и вправду вы не поняли суть вопроса. Вот весь код программы:
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
10.05.2010, 00:19 | 10 | |||||
Вот не поленился, решил сделать небольшой пример, надеюсь он тебе поможет,
твой код я в своем компиляторе всеравно не создам.
0
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
|
10.05.2010, 00:24 [ТС] | 11 |
Вы опять меня не поняли=) С этим то я разобрался. Проблема состоит в том что как мне обратиться в функции void CMainWnd::OnButton() к ListBox
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
10.05.2010, 00:37 | 12 | |||||
Уже 0:33 ночи спасть охото так что я уже все сказал. Добавлено через 2 минуты И вообще совет: Используй приложения на диалоговых окнах, визард может помочь, да и легче в двести раз, да и структрура плеера так и напрашивается на диалоговое окно.
1
|
172 / 96 / 12
Регистрация: 29.05.2009
Сообщений: 341
|
|
10.05.2010, 01:15 [ТС] | 13 |
Во! Терь то что нужно было. Теперь понятно зачем идентификатор=) так бы сразу мне и объяснили=)
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
10.05.2010, 11:46 | 14 |
Не по теме:
Небольшая справка о карте сообщений: Каждый вход карты сообщения берет следующую форму: ON_Notification( id, memberFxn ) Где идентификатор определяет дочернее окно ID управления посылающего сообщение и memberFxn - имя родительской функции которую Вы записали в дескриптор сообщения. Вот тебе еще инфа на затравку: Потенциальные входы карты сообщения следующие для твоего класса CMainWnd: ON_BN_CLICKED - Пользователь нажимает кнопку ON_BN_DOUBLECLICKED - Пользователь дважды щелкает кнопку Если хочешь обрабатывать события от ListBox, вот еще не много инфы: Следующее - список потенциальных входов карты сообщения и описания случаев, в которых они были бы посланы родителю: ON_LBN_DBLCLK - Пользователь дважды щелкает строку в списке. Только список, который имеет LBS_NOTIFY стиль, пошлет это уведомительное сообщение. ON_LBN_ERRSPACE - Список не может распределять достаточно памяти, чтобы встретить запрос. ON_LBN_KILLFOCUS - Список теряет фокус ввода. ON_LBN_SELCANCEL - Текущий выбор списка отменен. Это сообщение только послано, когда список имеет LBS_NOTIFY стиль. ON_LBN_SELCHANGE - Выбор в списке собирается изменяться. Это сообщение не послано, если выбор изменен CListBox::SetCurSel функцией . Это сообщение применяется только к списку, который имеет LBS_NOTIFY стиль. LBN_SELCHANGE уведомительное сообщение послано для списка с несвязным выбором всякий раз, когда пользователь нажимает клавишу курсора, даже если выбор не изменяется. ON_LBN_SETFOCUS - Список получает фокус ввода. ON_WM_CHARTOITEM - Определенное пользователем окно списка не содержащие строк получает WM_CHAR сообщение. ON_WM_VKEYTOITEM - Список с LBS_WANTKEYBOARDINPUT стилем получает WM_KEYDOWN сообщение.
1
|
10.05.2010, 11:46 | |
10.05.2010, 11:46 | |
Помогаю со студенческими работами здесь
14
Добавление полей по нажатию кнопки Добавление текста по нажатию кнопки Добавление Item в TreeView по нажатию кнопки Добавление группы записей по нажатию кнопки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |