Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 19:49   #1
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию Вывод календаря при удержании курсора мыши на текстбоксе

С праздником Труда, Господа программисты!
Подскажите, пожалуйста, можно ли вывести календарь Excel при наведении курсора мыши на текст бокс и осуществлять в нем выбор определенного дня, месяца и т.д.?
У меня в текст боске устанавливается дата, а с боку небольшая кнопочка,по нажатию на которую происходит вывод формы, на которой прикреплен календарь. Для некоторых пользователей каленадрь предпочтительней,чем ввод даты вручную.
Можно ли обойти использование дополнительной формы и осуществление навигации по календарю непосредественно без его расположения на форме, поскольку несколько смущает наслоение форм?))

//Вывод формы с календарем по нажатию на кнопку:
Код:
Private Sub CommandButton2_Click()
Calen1.Show
End Sub
// Установление на форме calendar в текстбокс выбранной даты
Код:
Private Sub Calendar1_Click()
      With Calendar1
calendar.TextBox1 = Format(Calendar1.Value, "dd/mm/yyyy")
End With
    End Sub
Рисунок прикрепила)


Спасибо.
Изображения
Тип файла: jpg yu.jpg (68.8 Кб, 51 просмотров)
Peace!
Blame вне форума Ответить с цитированием
Старый 02.05.2012, 09:49   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Можно ли обойти использование дополнительной формы и осуществление навигации по календарю непосредественно без его расположения на форме, поскольку несколько смущает наслоение форм?))
т.е. вы хотите, чтобы календаря нигде не было, но по нему можно было "навигировать"?)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.05.2012, 12:05   #3
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию

DiemonStar


Нет-нет))
Мой вопрос заключается в том, можно ли НЕ помещать календарь на форму, чтобы не получалась "наслоения" форм. То есть например, при удержании курсора мыши на окошке текстбокса, где стоит системная дата, более, чем на 3 секунды, появлялся бы календарик, как у меня на рисунке, и с ним можно было бы производить действия, но чтобы он не был привязан к форме.. При отсутствии действий/изменений на календаре в течение тех же,например, 3 секунд, он автоматически бы скрывался и последние произведенные действия(дата) заносились бы в текст бокс.
Просто понимаете, обилие форм и кнопок "Ок" смущает. Там нажми, здесь нажми...)) Хотелось бы этого избежать по возможности )) Вот ))
Peace!
Blame вне форума Ответить с цитированием
Старый 02.05.2012, 14:15   #4
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

в принципе, возможно все - вопрос затрат времени

3сек ждать тоже очень долго - лучше когда мышь наезжает на техкстбокс, сразу показывать календарь, а когда коикаем на день в календаре, то оно убирается( без нажатия ОК). Так же при уходе мыши с текстбокса..

Код:
Private Sub TextBox_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
if t then exit sub else t=true:calen1.Show
End Sub
Private Sub userform_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
if t then
  t=false
  unload calen1
endif
End Sub
slan вне форума Ответить с цитированием
Старый 02.05.2012, 17:18   #5
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию

slan

Вы всё правильно поняли!)
Спасибо огромное!!!)
При наведении курсора на текстбокс, сразу же календарик выпрыгивает, но при изменении положения курсора календарь почему-то не скрывается самостоятельно) В чем же дело?) Может, это потому,что у меня кнопка , вызывающая форму, на котрой расположен текстбокс, находится на Листе?

Единственное,- у пользователя Тогда нет возможности ввода даты вручную)) Было бы великолепно, если можно было бы и с клавиатуры устанавливать дату и с помощью календаря)) Можно Вас попросить добавить задержку на 2 или 3 секунды? Ничего страшного,что пользователю придется подождать, потерпит))
Peace!
Blame вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Координаты мыши(курсора) Prizrak86 C# (си шарп) 2 30.01.2012 15:35
Изменение рисунка при наведении курсора мыши ru3000 Microsoft Office Excel 4 15.04.2011 01:13
Остановка карусели при наведении курсора мыши. Не работает? daz JavaScript, Ajax 0 20.01.2011 09:22
Подсказка при наведении курсора мыши Syltan JavaScript, Ajax 2 23.04.2010 15:31
Определение X и Y координат PaintBox при перемещении курсора мыши Vladimir K. Общие вопросы Delphi 3 04.01.2007 10:45