Прошу совета и подсказки.
Есть форма. На ней два лейбла: в один выводится текущее время, во втоорой - текущая дата. Есть таймер.
При запуске программы форма дрожит. Очевидно, идет autoredraw. Я его = false.
Дрожит по-прежнему.
На всякий случай, привожу код: вдруг, кто-то подскажет.
--------------------------------------
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
' создание нестандартной формы
Private Sub Form_Load()
Dim MakeRectForm As Long
Me.Width = 9500
Me.Height = 60000
MakeRectForm = CreateRoundRectRgn( _
0 / Screen.TwipsPerPixelX, _
0 / Screen.TwipsPerPixelY, _
9500 / Screen.TwipsPerPixelX, _
6000 / Screen.TwipsPerPixelY, _
50, 50)
Call SetWindowRgn(Me.hwnd, MakeRectForm, True)
End Sub
Private Sub Form_Paint()
Call ShowTime ' - отображение времени
' цветовая заливка формы
Dim lY As Long
Dim lScaleHeight As Long
Dim lScaleWidth As Long
ScaleMode = vbPixels
lScaleHeight = ScaleHeight
lScaleWidth = ScaleWidth
DrawStyle = vbInvisible
FillStyle = vbFSSolid
For lY = 0 To lScaleHeight
FillColor = RGB(0, 0, 255 - (lY * 255) \ lScaleHeight)
Line (-1, lY - 1)-(lScaleWidth, lY + 1), , B
Next lY
End Sub
' отображение текущего времени
Sub ShowTime()
Label1.Caption = CStr(Time)
End Sub
' инициализация формы
Private Sub Form_Initialize()
Dim stDay, stMonth
stDay = Array("воскресенье", "понедельник", "вторник", _
"среда", "четверг", "пятница", "суббота")
stMonth = Array("января", "февраля", "марта", "апреля", _
"мая", "июня", "июля", "августа", _
"сентября", "октября", "ноября", "декабря")
Label2.Caption = "Сегодня " + Format$(Day(Date)) + _
" " + stMonth(Month(Date) - 1) + " " + _
Format$(Year(Date)) + " года, " + _
stDay(Weekday(Date) - 1) + "."
' отнимается 1, т.к. нумерация элементов
' массива начинается с 0
' настройка полей вывода
Label1.Font.Size = 12 ' установка размера шрифта для
' поля вывода времени
Label2.Font.Size = 10 ' установка размера шрифта для
' поля вывода даты
Label1.Alignment = 2 ' выравнивание по центру для полей
Label2.Alignment = 2 ' времени и даты
End Sub
-------------------------------
Спасибо!