На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Как программно поместить курсор в CMFCMaskedEdit в нужную позицию?
    Есть текстовое поле с маской m_IDC_EDIT1 типа CMFCMaskedEdit. Это текстовое поле предназначено для ввода даты и времени (например, такое значение
    Цитата
    2019.03.29/13:49:12.000
    ).

    Код установки значений для этого текстового поля:

    ExpandedWrap disabled
      m_IDC_EDIT1.EnableMask(_T("dddd dd dd dd dd dd ddd"),_T("____.__.__/__:__:__.___"),_T('_'));
      m_IDC_EDIT1.SetValidChars(_T("0123456789"));
      m_IDC_EDIT1.SetWindowText(L"____.__.__/__:__:__.___");



    Мне нужно, чтобы при щелчке левой кнопки "мыши" курсор в этом текстовом поле всегда помещался на его самую первую (нулевую позицию).

    Я пробовал:

    ExpandedWrap disabled
      void  CMyMFCMaskedEdit::OnSetFocus(CWnd *pOldWnd)
      {
          SetSel(0,0);
          CMFCMaskedEdit::OnSetFocus(pOldWnd);
      }



    пробовал:

    ExpandedWrap disabled
      void  CMyMFCMaskedEdit::OnLButtonUp(UINT nFlags, CPoint point)
      {
          SetSel(0,0);
          CMFCMaskedEdit::OnLButtonUp(nFlags,point);
      }



    и пробовал:

    ExpandedWrap disabled
      void  CMyMFCMaskedEdit::OnLButtonDblClk(UINT nFlags, CPoint point)
      {
          SetSel(0,0);
          CMFCMaskedEdit::OnLButtonDblClk(nFlags,point);
      }



    однако ничего не получается--при щелчке левой кнопке "мыши" курсор в этом текстовом поле появляется на той позиции, куда я щёлкнул, а не на самой первой (нулевой) позиции.

    Как мне решить эту проблему?
      Цитата erslgoeirjh @
      Как мне решить эту проблему?

      Сначала вызвать CMFCMaskedEdit::OnLButtonUp, потом SetSel(0,0);
      Или вообще не вызывать CMFCMaskedEdit::OnLButtonUp
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0224 ]   [ 16 queries used ]   [ Generated: 18.04.24, 07:45 GMT ]