![]() |
|
|
![]()
|
|
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Если можно поподробнее объясните как значение Edit занести в переменную по нажатии на кнопку?
Какая процедура используется для одинарного нажатия на кнопку? Надо ли создавать и описывать класс от CEdit для этого? |
|||
|
||||
| zkv |
|
||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
в редакторе ресурсов сделайте двойной щелчок по кнопке, тем самым создадите и попадете в обработчик нет
добавте управляющую переменную (control variable) в редакторе ресурсов (пусть будет m_MyEdit), потом в обработчике пишем:
|
||||
|
|||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
А если я делаю в пустом проекте то как?
|
|||
|
||||
| Greeen |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Объявляешь переменную типа CString в хедере класса диалога (пусть m_strEdit).
Перекрываешь для класса диалога функцию DoDataExchange. Т.е. в хедере:
В cpp:
Далее чтобы переслать строку из едита в строку вызываешь UpdateData(true), а чтобы из строки в едит - UpdateData(false); -------------------- Подпись больше не нужна |
||||
|
|||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
А через GetWindowText() как сделать?
|
|||
|
||||
| Greeen |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
IDC_EDIT - идентификатор твоего едита
Если уж сильно хочется через GetWindowText, то
-------------------- Подпись больше не нужна |
||||
|
|||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Делаю так:
void CMyButton::OnLButtonDblClk(UINT, CPoint) { CString str; GetDlgItemText(IDC_MYEDIT, str); } Проверяю в отладчике str= ("") Вставляю MoveWindow(CRect(120,100,220,150),TRUE); получается двигать кнопку Что не так |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Что показывает? -------------------- Подпись больше не нужна |
|||
|
||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Пустое окно
|
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
2 варианта:
1. У тебя пустой едит 2. У тебя неверный идентификатор. Т.е. IDC_MYEDIT существует, но он не связан с едитом Других причин я не вижу. Проверь все внимательней. -------------------- Подпись больше не нужна |
|||
|
||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Наверно не связан, а как связать?
И пож напишите метод одинарного клика на Button |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
В редакторе ресурсов выделяешь свой едит и в окне Properties в поле ID вводишь свой идентификатор. Делаешь двойной клик по кнопке и попадаешь в обработчик "одинарного клика на Button".
-------------------- Подпись больше не нужна |
|||
|
||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Я делал через пустой проект. Как программно это сделать?
|
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Я не хочу объяснять как редактировать в ручную файл ресурсов. Или делай через мастера или жди пока садо-мазохист, который не любит пользоваться удобствами среды, а любит геморрой и делает все вручную, объяснит тебе как это делается.
-------------------- Подпись больше не нужна |
|||
|
||||
| a11en |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 4.11.2006 Где: Ставрополь Репутация: нет Всего: нет |
ZIFIR, интересно, а зачем такое может понадобится???
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Твой edit должен иметь этот идентификатор, только и всего. Проверь. Какие это удобства... Код такой уродский генерируется, и комментарии визарда эти дебильные... Кошмар, до чего визарды программеров доводят... А если в визарде не окажется нужной фичи, что делать-то будешь... Руками клик на кнопке обрабатывается просто: Допустим, button имеет ID = IDC_MYBUTTON 1) добавляем в класс диалога обработчик: afx_msg void OnMyButton(); 2) добавляем обработчик в карту сообщений диалога: ON_COMMAND (IDC_MYBUTTON, OnMyButton) 3) реализуем обработчик (саму функцию напиши) -------------------- ... |
|||
|
||||
| a11en |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 4.11.2006 Где: Ставрополь Репутация: нет Всего: нет |
Earnest, на сколько я понял, автор топика, хочет и рисовать програмно... Либо я ничего не понял...
|
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Earnest, я тоже понял так, что ZIFIR не хочет пользоваться редактором ресурсов вообще. Ну что ж, тогда я соглашусь с тем, что визарды довели меня до того что мне приятней визуально располагать контролы, а не создавать rc'шник с нуля. Или по твоему удобней создать пустой проект и добавлять туда все самому.
Это сообщение отредактировал(а) Greeen - 14.4.2007, 10:33 -------------------- Подпись больше не нужна |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Кто его знает, конечно, но вроде отсюда следует, что кнопка уже есть. Редактором ресурсов я пользуюсь, конечно. Только иногда его удобнее руками править: строки, например, или проводить какие-либо изменения идентификаторов. В общем, я за отсутствие фанатизма. -------------------- ... |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Иногда конечно, вопросов нет. Но чтобы за визарда делать работу по созданию проекта это по меньшей мере странно (ИМХО). Хотя на любителя. -------------------- Подпись больше не нужна |
|||
|
||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
О как тема то развернулась!
Я просто только начал изучение визуала, и поэтому разбираюсь как это все работает. Вот и все. |
|||
|
||||
| ZIFIR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
А как Edit связать с идентификатором? Что-то не получается |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
ZIFIR, а как ты кнопочку создал?
-------------------- Подпись больше не нужна |
|||
|
||||
| v2v |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
А как ты этот самый Эдит создаешь? Через ресурсы(в Solution Explorer файл с расширением rc)? (тогда в свойствах есть строчка ID)... С помощью функции Криэйт?(тогда .. там есть параметр какой то где и указывается ИД) ... детальнее - читай мздн. Добавлено через 2 минуты и 4 секунды
Если ты только начал разбираться с визуалом.. то всё таки лучше для начала разберись с не пустым проектом по умолчанию... |
||||
|
|||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Вот это протормозил. Говорю "как кнопочку создал", имею в виду "как едит создал".
-------------------- Подпись больше не нужна |
|||
|
||||
| Death_Master |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 14.2.2008 Репутация: нет Всего: нет |
Спасибо, помогло с этими извратами(
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |