MFC CEdit не принимает ввод с клавиатуры - PullRequest
0 голосов
/ 04 марта 2019

У меня есть устаревший проект, в котором мне нужно добавить многострочное текстовое поле в представление.

Сначала я просто хочу создать текстовое поле в функции onDraw в моем классе представления, чтобы поместить текстовое поле вэкран.Прямоугольник текстового поля продолжает мигать.Я не могу выбрать его или сделать что-либо.

Класс представления является наследуемым от CView.Информация.Из исследований я узнал, что CEdit обычно добавляется в класс диалога, но я все еще могу добавить его в любое представление.

CRect rect(100, 100, 300, 200);
CEdit test;
test.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | ES_MULTILINE | WS_VSCROLL, \
    rect, this, 1);

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

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 04 марта 2019

Возможно, вы не хотите создавать элемент управления для редактирования в OnDraw.На самом деле, если ваше представление не содержит чего-то еще, что вам нужно рисовать, вам, возможно, вообще не понадобится обрабатывать OnDraw.

Когда у вас есть представление, содержащее элемент управления, вы обычно хотите создать этот элемент управления в OnCreate представления., поэтому он создается после создания собственного окна представления (которое будет родительским элементом управления), но до отображения окна представления (чтобы элемент управления мог отображаться одновременно).

В этом случаевид, вероятно, не нужно будет заниматься рисованием вообще.Вероятно, потребуется иметь дело с:

  1. sizing: измените размер элемента управления, чтобы он соответствовал новому размеру клиентской области представления.
  2. focus: когда представление получает фокус, немедленно установите фокуск элементу управления.
  3. Команды: вы довольно часто хотите иметь дело с такими вещами, как:
    • вырезать / копировать / вставить в / из элемента управления
    • поместить данные в элемент управления (например, из файла)
    • получить данные из элемента управления (например, сохранить в файл)
    • установить шрифт элемента управления
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...