Проблема с EditBox
От: Аноним  
Дата: 28.01.08 05:58
Оценка:
Здраствуйте создаю EditBox:


_CreateWindow( "EDIT", name.c_str(), WS_CHILD, size, pParent ) 
...........................

Элемент работает, все нормально, но если сделать так:

SetWindowText( m_hWnd, "Здесь текст" );

текст появляеться, но перестает вводиться с клавиатуры, хотя курсор мигает
Re: Проблема с EditBox
От: Аноним  
Дата: 28.01.08 07:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здраствуйте создаю EditBox:



А>
А>_CreateWindow( "EDIT", name.c_str(), WS_CHILD, size, pParent ) 
А>...........................
А>

А>Элемент работает, все нормально, но если сделать так:

А>
А>SetWindowText( m_hWnd, "Здесь текст" );
А>

А>текст появляеться, но перестает вводиться с клавиатуры, хотя курсор мигает


Мне кажется использовать SetWindowText не совсем правильно для EditBox-а. Возможно изза этого у тебя глюки.
Правильнее использовать SendMessage для изменения содержимого EditBox-а. Я не помню какое именно сообщение должен ему отправить, посмотри в MSDN. Если не ошибаюсь это WM_SETTEXT.

Таталян Арам.
Re[2]: Проблема с EditBox
От: Аноним  
Дата: 28.01.08 07:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Здраствуйте создаю EditBox:



А>>
А>>_CreateWindow( "EDIT", name.c_str(), WS_CHILD, size, pParent ) 
А>>...........................
А>>

А>>Элемент работает, все нормально, но если сделать так:

А>>
А>>SetWindowText( m_hWnd, "Здесь текст" );
А>>

А>>текст появляеться, но перестает вводиться с клавиатуры, хотя курсор мигает


А>Мне кажется использовать SetWindowText не совсем правильно для EditBox-а. Возможно изза этого у тебя глюки.

А>Правильнее использовать SendMessage для изменения содержимого EditBox-а. Я не помню какое именно сообщение должен ему отправить, посмотри в MSDN. Если не ошибаюсь это WM_SETTEXT.

А>Таталян Арам.


После этого стало работать по другому, теперь после WM_SETTEXT, тест с клавиатуры вводиться, но почемуто стал ограничеваться определенным числом символов
Re[3]: Проблема с EditBox
От: Аноним  
Дата: 28.01.08 08:10
Оценка:

А>>Мне кажется использовать SetWindowText не совсем правильно для EditBox-а. Возможно изза этого у тебя глюки.
А>>Правильнее использовать SendMessage для изменения содержимого EditBox-а. Я не помню какое именно сообщение должен ему отправить, посмотри в MSDN. Если не ошибаюсь это WM_SETTEXT.

А>>Таталян Арам.

А>После этого стало работать по другому, теперь после WM_SETTEXT, тест с клавиатуры вводиться, но почемуто стал ограничеваться определенным числом символов


Попробуй поменять максимальное количество входных символов, это можно сделать с помощю SendMessage отправив EditBox-у кое какие сообщение. Читай MSDN там всё написано. Попробуй EM_LIMITTEXT.

http://msdn2.microsoft.com/en-us/library/ms997530.aspx
Re: Проблема с EditBox
От: Pavel Dvorkin Россия  
Дата: 28.01.08 11:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>текст появляеться, но перестает вводиться с клавиатуры, хотя курсор мигает


Что-то мне все это подозрительно. До сих пор ни edit, ни SetWindowText в поведении, предосудительном для них, не были замечены.

Сделал простой тест. Генерируем визардом Win32 приложение. За неимением и нежеланием создавать свой edit бросаем его на диалог About. Добавляем

SetWindowText(GetDlgItem(hDlg, IDC_EDIT1), (LPCTSTR)L"99999999999999");


и все прекрасно работает.

А с созданием своего edit через CreateWindow — у меня студенты это делают в качестве упражнения каждый год, и без проблем.

А>_CreateWindow( "EDIT", name.c_str(), WS_CHILD, size, pParent )


Что за библиотека ? Откуда эта _CreateWindow ?
With best regards
Pavel Dvorkin
Re: Проблема с EditBox
От: AlexLinch Украина  
Дата: 28.01.08 12:09
Оценка:
Здравствуйте, Аноним

здается мне что тут проблема не с едитом а с системными хедерами... Возможно у вас повреждены какие-то константы, что и приводит к таким эффектам.
Попробуйте скомпилить ваш код на другом компьютере. Если эффект не проявится, то сравните апишные хедера(например через AraxisMerge)..., или переустановите студию.
Re[4]: Проблема с EditBox
От: Аноним  
Дата: 28.01.08 14:58
Оценка:
Всё это очень странно. У EditBox-а по умолчанию достаточно большой запас для входных символов. Может быть где-то куча повреждена? В любом случае с программой что-то не так, возможно с библиотеками проблема.
Арам.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.