Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 |

 

  Вопрос: RichTextBox в PB7 Добавлено: 24.01.04 01:20  

Автор вопроса:  brevno | Web-сайт: smsquest.by.ru

Как в PB в RichEdit'e реализовать многократную отмену? Где-то прочитал, что она должна работать автоматом по ctrl+z/ctrl+y(то бишь, как обычно), но почему-то не катит.. Может что-то изменить при "выкладывании" или.. не знаю?

LOCAL hModRE AS DWORD

hModRE = LoadLibrary("RICHED32.DLL")

CONTROL ADD "RichEdit", hDlg, %IDC_RICHEDIT, "", 0, 0, 0, 0, _

%WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %WS_VSCROLL OR _

%ES_AUTOVSCROLL OR %ES_MULTILINE OR %ES_NOHIDESEL OR _

%ES_SAVESEL OR %ES_WANTRETURN, %WS_EX_STATICEDGE

FreeLibrary hModR

?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 24.01.04 02:02

Так первая ж версия его не поддерживает.

Во всяком случае так в MSDN написано.

Хотя может и вру. Ты лучше ещё поспрашивай.

Ответить

Номер ответа: 2
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #2 Добавлено: 24.01.04 06:50
На vb.code.kiev.ua валялся исходник множественного Undo и Redo. Там два класса - так и называютсяUndo и  Redo. В ВБ работает нормально, я на нем редактор шаблонов делал - без проблем. По моему там как самодельный стек для Анду и Реду реализован. Скачай посмотри, может пригодится. Называется rtb_multiundo.zip

Ответить

Номер ответа: 3
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 24.01.04 07:15
Пардон, vb.kiev.ua

Ответить

Номер ответа: 4
Автор ответа:
 brevno



Вопросов: 18
Ответов: 57
 Web-сайт: smsquest.by.ru
 Профиль | | #4
Добавлено: 24.01.04 14:15

Спасибо, ... но пример этот мне известен и он, кстати, недоработанный, например, dragNdrop ему совершенно неизвестен(стоит перетащить что и все сбивается) и еще какие-то проблемы(по-крайней мере так было, когда я его скачивал в последний раз). Я как-то пытался делать мультиундо(с перетаскиванием) в этом стиле, что-то получилось, но не очень надежно.

Вообще том и проблема, что в richEdit этот MultiUndo встроен(в 1,0 может и не встроен, но этот контрол, ИМХО мало у кого есть), я просто не знаю как им пользоваться.. А изобретать плохо работающий велосипед не хочется.

Кто-нибудь в курсе?

ЗЫ: а как это сделано в RichPad'e CyRax'a? CyRax, F1!

Ответить

Номер ответа: 5
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 24.01.04 16:39

В том то и шняга, что Microsoft RichTextBox control (Richtx32.ocx) основан на Windows 95 Rich Text Edit Control (Riched32.dll). Устаревший он короче. Хотя для VS'98 я думаю в самый раз.

OCX'ы как я уже говорил - полный [sensored]. Тем более для VB, который сильно от них зависит.

Я пробовал получить формат RichTextBox'а средствами Riched2, но ничего не вышло. А средствами первой верси всё получилось.

Так что можно сделать выводы.

Но попробуй на всякий случай.

EM_SETUNDOLIMIT

[This is preliminary documentation and subject to change.]

Rich Edit 2.0 and later: Send an EM_SETUNDOLIMIT message to a rich edit control to set the maximum number of actions that can stored in the undo queue.

Rich Edit 1.0: This message is not supported.

EM_SETUNDOLIMIT wParam = (WPARAM) nMax;    // maximum number of undo actionslParam = 0 ;               // not used; must be zero 
Извини много лишнего написал. Просто такой вопрос уже задавался для VB. Переписывать уже влом.
Да ты и сам поймещь что Riched32 - это первая версия контрола.

Ответить

Номер ответа: 6
Автор ответа:
 brevno



Вопросов: 18
Ответов: 57
 Web-сайт: smsquest.by.ru
 Профиль | | #6
Добавлено: 24.01.04 16:52

о, спасибо за информацию...

А еще слышал что на vbacctleratore есть хороший пример с отменой.. никто не пробовал/разбирался?

Ответить

Номер ответа: 7
Автор ответа:
 brevno



Вопросов: 18
Ответов: 57
 Web-сайт: smsquest.by.ru
 Профиль | | #7
Добавлено: 24.01.04 17:12

Тогда вот.. Эта штука(Рич 2,0 ) работает без проблем:

CALL LoadLibrary("RICHED20.DLL")

CONTROL ADD "RichEdit20A", hDlg, %IDC_RICHEDIT0, "", 0, 0, 500, 200, _

%WS_CHILD OR %WS_VISIBLE

проблема закрыта? или 2ой рич редкая вещь у не у всех стоит? как быть?

Ответить

Номер ответа: 8
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 24.01.04 17:30
По моему минимальные требования - Вынь98

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам