Консультация № 182487
12.03.2011, 14:04
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас помочь с следующими вопросами:
Visual Studio 2008. Использую.
1. Первый вопрос насчет того как убрать( заменить, не отключая UNICODE(мб ошибаюсь)) "L" в CreateWindoW(L"BUTTON, L"Бла бла бла" ...)
в программе которую я нижу кину, у меня там с этим ошибка ибо не могу передать название элемента в кнопку и из-за этого пришлось набивать много раз.
2. Второй вопрос. Мне необходимо из Edit окна кинуть выделенный текст в статический.
Мне сказали создать еще одно и через него в статик, но я не хочу так)) Спросил у преподавателя он сказал идти через EM_GETSEL, я пошел через эти вещи, но вместо текста выводятся черные кружки.) В чем может быть беда и как её исправить?
место положения данной вещи можно найти по case 12:
Программа = https://rfpro.ru/upload/4858

Обсуждение

Неизвестный
12.03.2011, 16:34
общий
это ответ
Здравствуйте, Роман Смирнов!
1. Можно явно использовать ANSI-версии функций. Например, CreateWindowA("BUTTON", ...)
2. EM_GETSEL возвращает индексы границ выделенного текста, но не сам текст. Вы заполняете буфер индексами и получается абракодабра.
Вам нужно через WM_GETTEXT получить весь текст из Edit-окна, и затем скопировать из него кусок согласно индексам.

P.S. Учитесь использовать локальные переменные, писать программы станет заметно проще.
Форма ответа