Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 39

Как удалить каретку в richTextBox?

22.08.2015, 10:09. Показов 3204. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Суть проблемы такова: есть richTextBox, он большой и в него всё время при нажатии кнопки на клаве вбивается текст. Текста также много. Программа присваивает Text по символьно, ибо там несколько проверок. Но не суть важно, важно то, что с каждым новым символом каретка прыгает вместе с ним на новое место и по этому текстбокс начинает МЕРЦАТЬ. Логичное лечение - удалить каретку. Но я не могу понять как работает HideCaret() или DestroyCaret(), и нужно ли вообще юзать именно ЭТИ ф-ции?
И да, фокус-покус с Focus работать не будет. Символ добавиться - каретка прыгнет, а потом по Focus улетит, например, в начало. И мерцать будет только в 2 больше. Нужно именно избавиться от неё.

enabled и readonly не предлагать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.08.2015, 10:09
Ответы с готовыми решениями:

Как переместить каретку ввода в RichTextBox
Есть RichTextBox в который я ввожу текст. Как при вводе текста перемещать каретку, а при удалении не перемещать?

Как поставить каретку в начало после нажатия Enter в richtextbox?
В приложении перед тем, как вводить данные в richtextbox, нужно нажать Enter. Но после этого у меня каретка переносится на строку вниз. Как...

RichTextBox, как удалить строку, где курсор
Столкнулся с такой проблемой. Есть richEditBox , в котором несколько строк. Как удалить ту строку, на которой стоит курсор?

6
10 / 10 / 6
Регистрация: 28.07.2015
Сообщений: 57
22.08.2015, 10:12
C#
1
2
3
4
5
6
7
[DllImport("user32")] 
private static extern bool HideCaret(IntPtr hWnd);
 
public void HideCaret()
{
    HideCaret(textBox.Handle);
}
0
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 39
22.08.2015, 10:24  [ТС]
Это копипаст с форума по C#, не так ли?

Добавлено через 7 минут
Это конечно чудесный нагугленный код, но:
1) У меня WinForms c++
2) [DllImport("user32")] явно не нужно, зачем там бездумно копипастить?
3) Статик и экстерн тоже явно не нужно.
4) Преобразовать в правильный вид, я не могу, ибо не знаю как.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
23.08.2015, 13:11
Цитата Сообщение от Hastings Посмотреть сообщение
Это конечно чудесный нагугленный код, но
Не может сам нагуглить и ещё недоволен.
C++
1
2
3
4
#include <Windows.h>
// ...
if (HideCaret(this->Handle) == 0)
    // Вызов не удался, обработка ошибки
0
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 39
23.08.2015, 14:15  [ТС]
tezaurismosis
Ни 1, ни 2. Пишет HideCaret: невозможно преобразовать параметр 1 из "System::IntPtr" в "HWND". Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен.
Прошу снова помощи. Спасибо за ответ!
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
31.08.2015, 08:50
Лучший ответ Сообщение было отмечено Hastings как решение

Решение

C++
1
HideCaret((HWND)richTextBox1->Handle.ToPointer());
2
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 39
02.09.2015, 18:55  [ТС]
Юху! Спасибо, дорогой Тезаурис!
Код всё сделал как я хотел, однако обязательно добавлю, что без
C++
1
#pragma comment (lib, "user32.lib")
Ничего работать не будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2015, 18:55
Помогаю со студенческими работами здесь

Как в richtextbox->Text удалить текст до и после определенного символа?
как мне в Visual C++ реализовать удаление текста до и после определенного символа из richtextbox-&gt;Text я нашел код который это делает...

Как убрать каретку в TMemo
Как убрать из мемо ,при нажатии туда, мигающий знак. То есть вот вы перед тем как написать сообщение жмете в поле и мигает эта палочка...

Как убрать каретку из textBox?
На форме есть textBox и в него вставляется разный текст(длина неизвестна). Как сделать его только для отображения и прокрутки текста?...

Подскажите, как удалить из файла значение combobox и richtextbox, занесённые в файл ранее?
У меня только такой вариант, но не пойму почему не полностью удаляет из файла все необходимые значения: string...

Как перевести каретку в определенное место?
Мне надо поставить каретку в определенное место, но не знаю как... Напишите, пожалуйста, как это сделать и пример кода.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru