Функция DrawCaption

Declare Function DrawCaption Lib "user32" (ByVal hWnd As Long, _
    ByVal hdc As Long, _
    pcRect As RECT, _
	ByVal un As Long) As Long

DrawCaption выводит надпись в заголовке формы

hWnd
Описатель окна, в котором выводится надпись и значок
hdc
Описатель контекста устройства, на котором функция будет выводить надпись
pcRect
Структура RECT - ограничивающий прямоугольник для заголовка
un
Комбинация флагов, определяющих вид заголовка:
DC_ACTIVE = &H1Используется цвет активной формы
DC_BUTTONSФункция выводит кнопки на заголовке (Свернуть, Восстановить, Закрыть)
DC_GRADIENT = &H20Функция использует COLOR_GRADIENTACTIVECAPTION (если установлен флаг DC_ACTIVE) или COLOR_GRADIENTINACTIVECAPTION для цвета заголовка. Если флаг не установлен, то функция использует COLOR_ACTIVECAPTION или COLOR_INACTIVECAPTION
DC_ICON = &H4Функция выводит значок на заголовке
DC_INBUTTONФункция выводит заголовок как кнопку
DC_SMALLCAPФункция рисует маленький заголовок, используя текущий мелкий шрифт для заголовка
DC_TEXT = &H8Функция рисует текст при выводе заголовка

Пример

' Рисуем свой заголовок на форме
' Установите свойство BorderStyle равным 0 (None)
' Также может установить свои кнопки в правом углу
Me.ScaleMode = vbPixels
' Установим ограничивающий прямоугольник
' для заголовка во всю ширину форму и высотой 25 пикселов
SetRect r, 0, 0, Me.ScaleWidth, 25

' Выводим созданный заголовок
DrawCaption Me.hWnd, Me.hdc, r, DC_GRADIENT Or DC_ACTIVE Or DC_TEXT

' Следующий код служит 
' для перемещения формы за заголовок
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Y > 25 Then Exit Sub
Dim retval As Long
If Button = 1 Then
Call ReleaseCapture
retval = retval = SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
End Sub

Категория

Графика