Страница: 1 |
Пишу следующий код Public Const WM_UNDO = &H304 Public Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hWnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long Private Sub UndoMenu_Click() SendMessage CodeList.hWnd, WM_UNDO, 0, 0 End Sub Но к сожалению после вызова процедуры SendMessage(процедура судя по отладчику отрабатывается) никаких изменений в РичТекстБоксе не происходит, хотя тот же код, примененный к обычному ТекстБоксу работает. В чем может быть дело?
Пробовал, то же самое. Попробуй это (у меня и в TextBox и в RichTextBox пашет) Модуль Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long Форма fCanUndo = SendMessage(txtMain.hwnd, EM_CANUNDO, &O0, &O0) Если мне не изменяет склероз, у RichTextBoxа свои события... Поэтому WM_UNDO там и не работает... Sharp, склероз тебе не изменяет..... EM_CANUNDO возвращает 0 Значит тебе нельзя отменить... Это что-то у тя глючит??? Если просто ставлю пустой РичТекстБокс Undo вроде работает, а на моем нет, может я в событиях какие-то операции делаю исключающие Undo, потому что у меня идет постоянный контроль за вводимым текстом и подмена keyCode Вышди пример, посмотрю... Страница: 1 |
Вопрос: VB. RichTextBox. Как сделать UNDO
Добавлено: 19.11.03 17:32
Автор вопроса: IAm
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
&&&&M
Вопросов: 8
Ответов: 68
Профиль | | #1
Добавлено: 19.11.03 21:04
Попробуй послать EM_UNDO
Номер ответа: 2
Автор ответа:
IAm
Вопросов: 8
Ответов: 20
Профиль | | #2
Добавлено: 19.11.03 22:10
Номер ответа: 3
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #3
Добавлено: 20.11.03 10:40
Public Const EM_UNDO = &HC7
Public Const EM_CANUNDO = &HC6
If fCanUndo Then SendMessage txtMain.hwnd, EM_UNDO, &O0, &O0
Номер ответа: 4
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #4
Добавлено: 20.11.03 11:16
Также пашет и с константами EM_CANREDO и EM_REDO (RTBox)
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 21.11.03 15:43
Номер ответа: 6
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #6
Добавлено: 21.11.03 16:00
Номер ответа: 7
Автор ответа:
IAm
Вопросов: 8
Ответов: 20
Профиль | | #7
Добавлено: 21.11.03 16:16
Номер ответа: 8
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #8
Добавлено: 21.11.03 17:38
Номер ответа: 9
Автор ответа:
IAm
Вопросов: 8
Ответов: 20
Профиль | | #9
Добавлено: 21.11.03 18:05
Так не может быть, ужас какой-то
Номер ответа: 10
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #10
Добавлено: 22.11.03 18:51
Номер ответа: 11
Автор ответа:
IAm
Вопросов: 8
Ответов: 20
Профиль | | #11
Добавлено: 23.11.03 14:31
Номер ответа: 12
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #12
Добавлено: 26.11.03 10:26