Deutsch

Пёсик воспоминания, 19.05.2024

683  
uscheswoi_82 коренной житель19.05.24 00:59
uscheswoi_82
19.05.24 00:59 

Всем привет!

У нас не реально тихо, вот вспоминаю как было шумно в Алматы, а в будние дни было кучу народу. Когда я гуляю на улице, то никого на улице нет, я совершенно один гуляю по району. Несколько дней назад попал под очень сильный ливень, я сидел 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!"

Результат:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#1 
uscheswoi_82 коренной житель19.05.24 01:07
uscheswoi_82
NEW 19.05.24 01:07 
в ответ uscheswoi_82 19.05.24 00:59

Теперь поиграимся с 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 кнопок, и когда на одну из кнопок нажимаешь, помощник пёс перемещается на нужну позицию, и показывает соотвественную анимацию:



Это форма в режими работы:



Вуаля, а вот и результат, какой пёсик:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#2