Как показать пользователю, что программа не зависла? - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день! В VB я не бум-бум! По этой причине нужна Ваша помощь. Может быть кто-то знает как показать пользователю, что программа работает? В программе всего одна форма и иногда она (программа) выполняет действия очень долго и создается впечатление, что она висит. Может быть у кого-то есть какие-нибудь идеи? Или может быть есть пример кода, чтобы в форму вставить анимированную gif картинку и чтоб при работе программы она начинала двигаться... Кароче ай нид хэлп!!!!

Решение задачи: «Как показать пользователю, что программа не зависла?»

textual
Листинг программы
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, wParam As Long, lParam As Long) As Long
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Const PROGRESS_CLASS = "msctls_progress32"
Private Const WM_USER = &H400
Private Const PBM_SETMARQUEE = (WM_USER + 10)
Private Const PBS_MARQUEE = &H8
Private Const WS_VISIBLE = &H10000000
Private Const WS_CHILD = &H40000000
Private Const WM_CLOSE = &H10
 
Private Sub Command1_Click()
Dim m_hprogbar As Long
Dim i
Call InitCommonControls
    m_hprogbar = CreateWindowEx(0, PROGRESS_CLASS, vbNullString, _
        WS_CHILD Or WS_VISIBLE Or PBS_MARQUEE, _
        10, 50, 200, 15, hwnd, 0, App.hInstance, ByVal 0)
        SendMessage m_hprogbar, PBM_SETMARQUEE, ByVal 1, ByVal 100
 
' Зависающие на неопределёное время действия
For i = 1 To 100000
Command1.Caption = Str(i)
DoEvents
Next
SendMessage m_hprogbar, WM_CLOSE, 0, 0
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы