Тема: Visual C++ 2005 .NET

Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 31
  1. Вверх #1
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15

    По умолчанию Visual C++ 2005 .NET

    Купил себе книгу по Visual C++ 2005 (невизульный C++ уже в какой-то мере знаю). Но некоторые примеры кода не работают! И там написано далеко не все, что я хотел бы узнать... Если вам не трудно, ответьте на несколько вопросов:

    1) MessageBox("Текст"); не работает. Компилятор пишет вот что:
    Код:
    'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char [6]' to 'LPCTSTR'
    Как с этим бороться?

    2) Допустим, у меня есть компонент Edit control и Button. Как при нажатии Button считать введённое в Edit control?

    3) Знаю, есть обработчики щелчков, двойных щелчков. Как их активизировать? И где можно найти более полный список событий?

    Заранне спасибо.


  2. Вверх #2
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    1)Про месадж бокси
    MessageBox(_T("bla-bla-bla"));

    У тебе активована опція "Use Unicode Libraries", тому і не виходило раніше.

    2)Про текст.

    CString str; // сюди читаєш те, що у тебе в контролі
    m_edit.GetWindowText(str); //читаємо в змінну (в переменную (рус) ) str зміст
    "едіта".

    this->SetWindowText(str);
    //Виводимо в заголовок зміст змінної str.
    //m_edit - це змінна типу control для edit box'a.
    (правою кнопкоъ по контролу - > AddVariable)


    3)Про кліки
    Правою кнопкою на контрол -> Properties
    Дивися в COntrolEvents або в Messages


    Суто дружня порада - постав MSDN.
    Це перший помічник будь-якого програміста.
    Последний раз редактировалось YOKO; 03.06.2008 в 20:27.
    Тут могла бути ваша реклама

  3. Вверх #3
    Постоялец форума Аватар для Newton
    Пол
    Мужской
    Адрес
    Calgary, Alberta
    Сообщений
    1,105
    Репутация
    825
    Попробуйте Вашу строку записать в виде
    Код:
    TCHAR *pStr = _T("Hello World.");
    (тут возможно какие-то хедеры подключить нужно)

    Или отключить юникод в настройках проекта.
    Моя хата з найкращого краю в світі.

  4. Вверх #4
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    Написал такой код:
    Код:
    void Cxxx2Dlg::OnBnClickedOk()
    {
    	CString str;
    	this->GetWindowText(str);
    	this->SetWindowText(str);
    	MessageBox(str);
    }
    MessageBox'ом выводится почему-то название проекта!

  5. Вверх #5
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    MessageBox'ом выводится почему-то название проекта!
    или заголовок приложения, но в моём случае это одно и то же

  6. Вверх #6
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    Цитата Сообщение от leviaphan Посмотреть сообщение
    Написал такой код:
    Код:
    void Cxxx2Dlg::OnBnClickedOk()
    {
    	CString str;
    	this->GetWindowText(str);
    	this->SetWindowText(str);
    	MessageBox(str);
    }
    MessageBox'ом выводится почему-то название проекта!
    Ну ясна справа !
    Ти ж спочатку считуєш, ТЕ ЩО У ТЕБЕ В ЗАГОЛОВКУ, а потім його ж виводиш.

    this - це, без заумних слів і є твій клас.
    Тут могла бути ваша реклама

  7. Вверх #7
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    this - це, без заумних слів і є твій клас.
    да, я понимаю, что this-> - это указатель на данный класс.

    Я пытался так
    IDC_EDIT1.GetWindowText(str);
    Пишет:
    error C2228: left of '.GetWindowTextW' must have class/struct/union

  8. Вверх #8
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    IDC_EDIT1 - это имя компонента Edit control

  9. Вверх #9
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    Цитата Сообщение от leviaphan Посмотреть сообщение
    да, я понимаю, что this-> - это указатель на данный класс.

    Я пытался так
    IDC_EDIT1.GetWindowText(str);
    Пишет:
    error C2228: left of '.GetWindowTextW' must have class/struct/union
    Ні, по ідентифікатору звертаються не так.

    Пробуй через змінну.
    правою кнопкою по контролу -> AddVariable (variable name)
    Тут могла бути ваша реклама

  10. Вверх #10
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    Пробуй через змінну.
    правою кнопкою по контролу -> AddVariable (variable name)
    создал. а как к этой переменной потом обращаться?

  11. Вверх #11
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    CString str;
    ТУТ_ВОНА.GetWindowText(str);
    this.SetWindowText(str);
    MessageBox(str);
    Тут могла бути ваша реклама

  12. Вверх #12
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    если, допустим, переменная называется to_enter, a ID Edit control - IDC_EDIT1, то как обратиться к переменной?

  13. Вверх #13
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    to_enter.GetWindowText(str);
    this.SetWindowText(str);
    MessageBox(str);
    Тут могла бути ваша реклама

  14. Вверх #14
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    Цитата Сообщение от YOKO Посмотреть сообщение
    to_enter.GetWindowText(str);
    this.SetWindowText(str);
    MessageBox(str);
    Так уже пробовал. error C2228: left of '.GetWindowTextW' must have class/struct/union

  15. Вверх #15
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    и, наверное, не this.SetWindowText(str), а (*this).SetWindowText(str) или this->SetWindowText(str)

  16. Вверх #16
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    Цитата Сообщение от leviaphan Посмотреть сообщение
    Так уже пробовал. error C2228: left of '.GetWindowTextW' must have class/struct/union
    Значить, ти щось зробив не так.

    Тобі треба створити змінну для скажімо "едіт бокса".
    Змінна має бути "контрол"-типу, в полі variable name пишеш її назву.
    (напр. to_enter)

    Якщо ти все зробив правильно, у тебе не може бути жодних проблем.


    и, наверное, не this.SetWindowText(str), а (*this).SetWindowText(str) или this->SetWindowText(str)
    Ти можеш this взагалі явно не указувати.
    Тобто писати просто SetWindowText(str).
    Проблема не тут.
    Тут могла бути ваша реклама

  17. Вверх #17
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    YOKO, ОГРОМНОЕ вам спасибо! Дело в том, что я не подумавши установил тип переменное не CEdit (или что-то в этом роде), а char. Конечно, к char нельзя обращаться как к объекту!

  18. Вверх #18
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    нема за шо.
    Взагалі то, змінну можна встановлювати будь-якого типу.
    Просто звертатися вже потрібно буде "по іншому".
    Тут могла бути ваша реклама

  19. Вверх #19
    Посетитель
    Пол
    Мужской
    Сообщений
    268
    Репутация
    15
    откомпилировал программу... на моём компьютере все работает, а на других - нет (приложение не может запуститься, поскольку оно некорректно настроено). Может, я какие-то галочки не поставил?

  20. Вверх #20
    Не покидает форум Аватар для YOKO
    Пол
    Мужской
    Адрес
    Одеса, Україна
    Возраст
    43
    Сообщений
    5,452
    Репутация
    728
    Цитата Сообщение от leviaphan Посмотреть сообщение
    откомпилировал программу... на моём компьютере все работает, а на других - нет (приложение не может запуститься, поскольку оно некорректно настроено). Может, я какие-то галочки не поставил?
    Ти його відкомпілив з так званими "shared libraries".
    Программа не може знайти відповідних бібліотек, тому і не запускається.
    Щоб запускалась на всіх компах потрібно вибрати "static" лінковку.
    Перед очима немає студії, точно не згадаю де цей пункт меню знаходиться.
    Скоріше за все в "Project"...

    Якщо дуже треба, то можеш скачати і встановити цей пакет бібліотек,
    який ставиться з VS.
    http://www.microsoft.com/Downloads/d...displaylang=en
    Последний раз редактировалось YOKO; 04.06.2008 в 14:19.
    Тут могла бути ваша реклама


Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя

Похожие темы

  1. сочетаник клавиш в Visual Studio .Net 2005
    от leviaphan в разделе Программирование
    Ответов: 2
    Последнее сообщение: 15.03.2009, 18:37
  2. Таирово.Net
    от -=GDS=- в разделе Интернет
    Ответов: 28
    Последнее сообщение: 29.08.2004, 14:56
  3. Программинг под .net compact framework
    от Яр в разделе Программирование
    Ответов: 3
    Последнее сообщение: 14.06.2004, 01:19
  4. Ответов: 3
    Последнее сообщение: 01.03.2004, 08:27
  5. .NET Что за зверь?
    от Яр в разделе Программное обеспечение
    Ответов: 2
    Последнее сообщение: 31.01.2004, 13:40

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения