Re: Класс окна для просмотра текста и прокрутки?
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 15.01.05 15:10
Оценка: 25 (2)
Здравствуйте, Sergey_SV, Вы писали:

S_S>2. Edit — все уже есть, но мне не нужно чтобы пользователь имел возможность что-то выделять/добавлять и т.д., значит надо как-то тогда все это блокировать


list box со стилем LBS_NOSEL не подойдет?
[ posted via RSDN@Home 1.1.4 beta 3 r281, accompanied by Brian Setzer — As Long As I'm Singin' ]
- Искренне ваш, Поросенок Пафнутий
Re[2]: Класс окна для просмотра текста и прокрутки?
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 15.01.05 21:05
Оценка: 2 (1)
Здравствуйте, Sergey_SV, Вы писали:

S_S>Я создаю это окно для предосмотра содержимого файла


CBFViewCtrl (BigFile Viewer Controller)

View large text file in a controller like CEdit/CStatic is not easy. Especially if the file you want to view is several gigabytes big (like very big log files). CBFViewCtrl can do this. CBFViewCtrlis a CWnd-Derived class that will show files of any size. The controller will only show them. Will not allow you to edit them.


S_S>На счет listbox — думал тоже о нем, но ведь там тогда можно будет выделять строчки


LBS_NOSEL

Specifies that the list box contains items that can be viewed but not selected.


S_S>(и еще, мне надо иметь возможность показывать без переноса очень длинные строки 300-600 символов, в listbox нет ограничений на длину строк?)


LB_SETHORIZONTALEXTENT

An application sends an LB_SETHORIZONTALEXTENT message to set the width, in pixels, by which a list box can be scrolled horizontally (the scrollable width). If the width of the list box is smaller than this value, the horizontal scroll bar horizontally scrolls items in the list box. If the width of the list box is equal to or greater than this value, the horizontal scroll bar is hidden.

[ posted via RSDN@Home 1.1.4 beta 3 r281, accompanied by Sex Pistols — Friggin' In The Riggin' ]
- Искренне ваш, Поросенок Пафнутий
Re[2]: Класс окна для просмотра текста и прокрутки?
От: Stanky  
Дата: 15.01.05 21:14
Оценка: 2 (1)
> Пока все-таки склоняюсь к мысли о собственном классе с рисование строк
> через TextOut
>
В таком случае глянь ещё DrawText!!!

> но это только если через функ. ScrollWindow я смогу без лишних

> телодвижений скролить свой текст в окне.
>
Да вроде ничего сложного там нет!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Класс окна для просмотра текста и прокрутки?
От: Sergey_SV  
Дата: 15.01.05 14:53
Оценка:
Нужно создать окно-контрол для показа 15-20 строчек текста. Видно будет только 3, надо дать еще пользователю возможность его прокручивать. Подскажите какой класс окна лучше подойдет для этой задачи?

1. Static — текст запихивается, но прокрутку придется организовать через доп. скролы и потом еще самому текст нарезать нужными кусками (как в примере у Петзольда)

2. Edit — все уже есть, но мне не нужно чтобы пользователь имел возможность что-то выделять/добавлять и т.д., значит надо как-то тогда все это блокировать

3. Свой класс — тут я так понимаю, надо самому выводить текст через TextOut, а потом для прокрутки использовать ScrollWindow (кстати можно будет так легко прокручивать? просто еще не имел дела с функ. ScrollWindow)

Просто не хочется честно говоря городить свой класс и обработчик, когда наверняка эту стандр. задачу по вывода текста с прокруткой кто-нибудь уже решил
Re: Класс окна для просмотра текста и прокрутки?
От: SergH Россия  
Дата: 15.01.05 15:05
Оценка:
Здравствуйте, Sergey_SV, Вы писали:

S_S>2. Edit — все уже есть, но мне не нужно чтобы пользователь имел возможность что-то выделять/добавлять и т.д., значит надо как-то тогда все это блокировать


Можно сделать read-only, там флажёк для этого был. Но копировать сможет.
Делай что должно, и будь что будет
Re[2]: Класс окна для просмотра текста и прокрутки?
От: SergH Россия  
Дата: 15.01.05 15:26
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>list box со стилем LBS_NOSEL не подойдет?



Нестандартно мыслишь!
Делай что должно, и будь что будет
Re: Класс окна для просмотра текста и прокрутки?
От: Sergey_SV  
Дата: 15.01.05 20:36
Оценка:
Поясню сразу (надо было это раньше конечно сделать).

Я создаю это окно для предосмотра содержимого файла (Тоже самое как в Excel'е когда открываешь текстовый файл и тогда появляется мастер импорта для указания разбивки на столбцы и он там показывает первые строки файла). Поэтому как понимаете файлы могут быть разные и соотв. строчки могут быть очень мусорными

На счет listbox — думал тоже о нем, но ведь там тогда можно будет выделять строчки (и еще, мне надо иметь возможность показывать без переноса очень длинные строки 300-600 символов, в listbox нет ограничений на длину строк?)

Пока все-таки склоняюсь к мысли о собственном классе с рисование строк через TextOut, но это только если через функ. ScrollWindow я смогу без лишних телодвижений скролить свой текст в окне. Если тут кто-нибудь мне расскажет о подводных камнях и доп. сложностях с таким скроллингом тогда я был очень благодарен? (чтобы не тратить по напрасну)

Мне вот просто еще интересно, неужели никто раньше с такой проблемой не сталкивался? а то я бы с удовольствием бы воспользовался бы готовым классом

Либо конечно не париться, а взять Edit с блокировкой редактирования .... не, наверное все-таки буду париться, не могу успокоиться пока не сделаю все так как планировал, если это реально
Re[2]: Класс окна для просмотра текста и прокрутки?
От: Sergey_SV  
Дата: 16.01.05 13:02
Оценка:
Спасибо, за подробные ответы, еще раз все окинул, вроде бы ListBox мне подходит (не знал раньше что его тако можно тонко настроить), попробую сделать через него
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.