Проблеми с редактированием записи елемента Ctreeviewctrl.

Тема в разделе "MS Visual C++", создана пользователем abdyla_v, 31 июл 2007.

  1. abdyla_v

    abdyla_v Гость

    Есть такая проблема : у меня есть елемент класса CtreeViewCtrl. Например я хочу редактировать запись в дереве. Я использую TVN_BEGINLABELEDIT и TVN_ENDLABELEDIT. Но все работает когда я например поминял содержимое записи на нажал левой мышей по окну(перевел фокус)! А мне нужно что бы запись менялась когда я нажимаю на Enter!
    Также неработет и клавиша "Esc"!

    Может кто сталкивался с такой проблемой помогоите разобратся!
     
  2. mms

    mms Гость

    During label editing, typically in response to the TVN_BEGINLABELEDIT notification message, you can get a pointer to the edit control used for label editing by using the GetEditControl member function. You can call the edit control's SetLimitText member function to limit the amount of text a user can enter or subclass the edit control to intercept and discard invalid characters. Note, however, that the edit control is displayed only after TVN_BEGINLABELEDIT is sent.

    Взять едит контрол, на сообщение нажатия интер прекратить редактирование и применить изменения.
     
  3. abdyla_v

    abdyla_v Гость

    Нажатие "Enter" не работает! Тоисть НАПРИМЕР при отслеживания TVN_KEYDOWN - отслеживается при работе с амим деревом! А при изминение самой записи ни "Enter" ни "Esc" - не работает!
     
  4. mms

    mms Гость

    Отслеживать нажатие кнопки надо не для три контрола, а для эдит контрола (text box который появляется, для ввода лейбла).
     
  5. abdyla_v

    abdyla_v Гость

    А как? С помощю Attach я хотел прикрепить текст-контрол к дереву чтобы отлавлевать сообщения но у меня не получилось! Может как то по другому?
     
  6. mms

    mms Гость

    Смотрим CTreeCtrl:

    Далее смотрим CEdit:

    Раздел: Input Message Handlers

    Тебе бы не мешало почитать литературу, как работать с виндоуз контролами (в данном случае конкретно библиотека MFC, так же неплохо было бы понимать, как вообще устроены окошки в Win32API) ;), т.к. это самые азы, можно сказать, без которых ну никак ...
     
  7. abdyla_v

    abdyla_v Гость

    У меня есть клас моего окна унаследованый от CDialogImpl! В нём есть контрол типа CtreeViewCtrl. Это не MFC - это уже ATL и WTL. В MFC я знаю как зделать а вот в моем случаи как это организовать незнаю?
     
  8. mms

    mms Гость

    Там всё практически тоже самое, берём эдит контрол, отслеживаем нажатие интера у этого эдит контрола.
     
  9. abdyla_v

    abdyla_v Гость

    Как? Именно в этом и загвостка! Как словить сообщение? Каким образом?

    Едит то у меня не задан - тоесь его ID. Он у меня появляется когда я пытаюсь что-то делать с елементом дерева. Как мне тогда составить карту сообщений - я думаю ни как? Может тут нужен другой подход?
     
  10. mms

    mms Гость

    С ивентами вообще работали?

    CEdit есть? - есть. Не нужен никакой ID, у контрола есть специальный метод, чтобы получить этот едит.

    Как получить ивент от CEdit? Выставить ему свой хэндлер (функцию) в OnKeyPress или что-то подобное.
     
Загрузка...
Похожие Темы - Проблеми редактированием записи
  1. fedotxxl
    Ответов:
    12
    Просмотров:
    4.482

Поделиться этой страницей