|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 20, 2004 02:30:56 Может этот вопрос и глуп, вот только я никак не разберусь с ним. Пока пользуюсь методом: invoke GetDlgItemText,hWnd,1001,addr buf,BUFFER_TEXT ... Добавляю данные и invoke SetDlgItemText,hWnd,1001,addr buf BUFFER_TEXT - получается небольшой (не более 8192 байт) А хочется больше, да и и если каждый раз сетить текст, "растущий не по нажатию а по сообщению", то и совсем можно закопаться. |
|
|
Дата: Мар 20, 2004 02:48:39 · Поправил: bogrus ShadowDiver invoke GetDlgItemText,hWnd,1001,addr buf,BUFFER_TEXT По идее обычно выглядит так : invoke GetDlgItemText,hWnd,1001,addr buf,sizeof buf BUFFER_TEXT - получается небольшой (не более 8192 байт) А хочется больше Пусть хоть BUFFER_TEXT будет и 32Кб . В buf у тебя всё-равно попадёт столько байт , сколько его размер (sizeof buf) или меньше (чему равно BUFFER_TEXT ?) , остальное урежеться . А дальше я не понял , что тебе конкретно надо и что не получаеться . |
|
|
Дата: Мар 20, 2004 04:02:45 sizeof - я как-то и забыл про это :) Мне хотелось бы знать, есть ли возможность добавлять текст в компоненту Edit, как это реализованно в Delphi (edit.lines.add(string);). |
|
|
Дата: Мар 20, 2004 21:32:23 Настоятельно советую покопать чужие исходники. Таких на WASM.RU куча. |
|
|
Дата: Мар 21, 2004 00:28:07 Перекопал уже не одну кучу. %) Но практически везде встречается метод (см. выше). |
|
|
Дата: Мар 21, 2004 01:31:32 ShadowDiver http://board.win32asmcommunity.net/showthread.php?s=eb2d9f94a3ea444e7f 504ed4934f3c41&threadid=17250 Слей PhysMemBrowser (в аттаче к моему посту) и см функцию PrintHexDump. |
|
|
Дата: Мар 21, 2004 05:08:19 · Поправил: SolidCode ShadowDiver Мне хотелось бы знать, есть ли возможность добавлять текст в компоненту Edit, как это реализованно в Delphi (edit.lines.add(string);). Я не совсем хорошо знаю Дельфу. Но скажу так. Если надо большие куски текста вставлять (больше 64К), то можно использовать EM_STREAMIN, EM_STREAMOUT. Или EM_EXSETSEL. А если нужно побуквенно или построчно вставлять, то используй WM_PASTE: вставка текста из клипборда в то место, где курсор. Или можно с помощью EM_REPLACESEL. Там даже в буфер не надо вставлять. Сразу указываешь строку. И встаёт в то место, где курсор. Если что-то выделено, то он заменит это, иначе просто вставит. А если хочется, чтобы не заменить выделенный сейчас текст, да так, чтобы юзер не заметил, то: KillFocus Save Current Selection with CHARRANGE<> Clear selection Set caret to required position Insert needed string Restore saved selection from CHARRANGE<> SetFocus |
|
|
Дата: Мар 26, 2004 00:49:20 Всем огромное спасибо, думаю тему можно прикрыть. :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.050 |