MFC: Что же такое CSplitterWnd Caret?
Что на самом деле является каретой в контексте класса CSplitterWnd? Я не могу найти какую-либо документацию, относящуюся явно к CSplitterWnds...
РЕДАКТИРОВАТЬ: В частности, что на самом деле делают эти функции:
CWnd * pCurView = m_wndSplitter2.GetPane(2, 0);
pCurView->ShowCaret()
pCurView->HideCaret()
РЕДАКТИРОВАТЬ 2: Обратите внимание, я знаю, что такое каретка, я специально спрашиваю о функциях в контексте класса CSlitterWnd. Я видел документацию MSDN, и она не дает никаких реальных объяснений.
6 ответов
Любой CWnd может иметь каретку, но только наследники CWnd, которые сначала создают CreateCaret, фактически отображают его. @DannySmurf дает вам один пример - CEditView - CView, который создает каретку, которую вы можете показать и скрыть.
В зависимости от конкретного вида CView, который у вас есть на панели, ShowCaret, вероятно, не имеет значения. Это не имеет ничего общего с CSplitterWnd.
В частности,
CWnd * pCurView = m_wndSplitter2.GetPane(2, 0);
Получите панель, как в производном классе CView, в окружении вашего окна сплиттера
pCurView->ShowCaret()
Покажите меньшую вертикальную черту в позиции редактирования текста в этом представлении. Этот курсор используется в любом элементе редактирования текста, таком как CEdit.
pCurView->HideCaret()
Скрыть курсор / вертикальный курсор.
Это карета в обычном смысле. Применяется только тогда, когда вы разделяете два CEditViews в одном окне.
Это текстовый курсор.
В ранних версиях окон текстовый курсор был похож на знак каретки корректора (как ^ только на базовой линии). Это имеет некоторый смысл, так как этот знак - то, что корректоры используют, чтобы указать, где текст должен быть вставлен.
Все еще кажется странным называть это кареткой, но они сделали это, возможно, потому, что уже решили использовать слово "курсор" для того, что все остальные называют указателем мыши.
В мире Windows SDK курсор - это фактически указатель мыши, а курсор - мигающая полоса, которую вы видите в текстовых элементах управления и т. Д.
Возможно, они имеют в виду курсор, мигающую вертикальную полосу на экране.