Пёсик воспоминания, 19.05.2024
Всем привет!
У нас не реально тихо, вот вспоминаю как было шумно в Алматы, а в будние дни было кучу народу. Когда я гуляю на улице, то никого на улице нет, я совершенно один гуляю по району. Несколько дней назад попал под очень сильный ливень, я сидел 20 минут на остановке, не дождавшись окончания дождя всё равно побежал домой. У нас то очень тепло, то переходит в холод, сегодня днём было +12°C , а сейчас идёт ливень и гремит гроза. Ну да ладно, хотел-бы вспомнить 97-2000 гг, а именно Microsoft Office 97 и 2000. Тут - https://foren.germany.ru/common/f/40860595.html?Cat=&page=...я показывал свои диски Microsoft Office 2000 Developer Edition, по версии журнала стоила такая программа аж 1799 марок, по тем временам это было имхо дорого. Ну так вот, начиная с Microsoft Office 97 пояивлся ассистент ну или помощник, про скрепыша наверное помните, и если мне память не изменяет дожил этот ассистент/помощник до 2003 версии.
В Microsoft Office 97 при вызове функции MsgBox показывала помощника, Microsoft Office 2000 не показывает см.:
Если же помощник закрыт, и вызывается функция MsgBox, то показывается в специальном диалоговом окне:
Вот к примеру анимация помощника скрепыша:
Так-же в Microsoft Office 97 есть свойство Assistant, пример:
Assistant.Sounds = True Assistant.Visible = True Assistant.Animation = msoAnimationEmptyTrash
А вот пример вызова помощника через MsgBox, но работает вроде только в Microsoft Office 97:
MsgBox "Hello?", vbQuestion Or vbYesNo, "Hello!"
Результат:
Теперь поиграимся с Microsoft Office 2000, в качестве помощника я выберу пёсика:
Скопируем код из API Viewer , нам понадобятся API-функция GetWindowRect и структура RECT:
Вот код Modul1:
Sub ShowAnimation(a As MsoAnimationType, ByVal l As Integer, ByVal t As Integer) With Assistant If .Visible = True Then .Visible = False .Sounds = True .Visible = True .Animation = a .Left = l .Top = t End With End Sub
Вот код формы Formular2:
Option Compare Database Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Dim rc As RECT Private Sub cmdDoSomething_Click() ShowAnimation msoAnimationWorkingAtSomething, rc.Left + 170, rc.Top End Sub Private Sub cmdSave_Click() ShowAnimation msoAnimationSaving, rc.Left + 40, rc.Top End Sub Private Sub cmdSearch_Click() ShowAnimation msoAnimationSearching, rc.Left + 120, rc.Top End Sub Private Sub cmdSend_Click() ShowAnimation msoAnimationSendingMail, rc.Left + 8, rc.Top End Sub Private Sub cmdWorking_Click() ShowAnimation msoAnimationWritingNotingSomething, rc.Left + 90, rc.Top End Sub Private Sub Form_Load() GetWindowRect Me.hwnd, rc rc.Top = rc.Top + 90 End Sub
Так выглядет форма конструктор, короче там 5 кнопок, и когда на одну из кнопок нажимаешь, помощник пёс перемещается на нужну позицию, и показывает соотвественную анимацию:
Это форма в режими работы:
Вуаля, а вот и результат, какой пёсик: