#c #visual-c #mfc
#c #visual-c #mfc
Вопрос:
в настоящее время я работаю над устаревшим проектом в MFC.
Я сталкиваюсь с проблемой, когда я создаю кучу объектов CRichEditCtrl в представлении, многие из них перекрывают друг друга. Когда я выбираю их, визуальное изображение полностью перепутано.
Возможно ли щелкнуть по определенному элементу управления и вывести его на «передний план». чтобы я мог редактировать этот конкретный элемент управления?
Другой вопрос в том, есть ли способ динамически различать эти элементы управления?
Я знаю, что когда я их создаю, последним параметром является их идентификатор. Но когда я нажимаю на них, я хочу, чтобы обработчик команд в родительском диалоговом окне или представлении знал, какой из них я собираюсь отредактировать.
Заранее спасибо
Комментарии:
1. Ваш вопрос несколько неясен и несколько широк. Элементы управления не должны перекрываться в первую очередь. Или, если они по какой-либо причине перекрываются, вам следует отключить элементы управления «не на переднем плане», вызвав
EnableWindow
метод.2. Чтобы корректно отображать перекрывающиеся дочерние элементы управления, вам необходимо установить
WS_CLIPSIBLINGS
стиль для каждого из дочерних элементов управления. Это обеспечивает правильное рисование в соответствии с Z-порядком путем применения отсечения к дочерним элементам управления. Чтобы вывести дочернее окно на передний план, передайтеHWND_TOP
дляhWndInsertAfter
параметраSetWindowPos()
.