Re[2]: Это можно сделать для каждой формы MDIChild
От: Vi2 Удмуртия http://www.adem.ru
Дата: 18.05.02 08:37
Оценка:
Здравствуйте algol, Вы писали:

A>А в .bas файле нужно написать:

A>Global lpPrevWndProc As Long
A>Global gHW As Long

A>Public Sub Hook()
A>    'Start subclassing.
A>    lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
A>End Sub

A>Public Sub Unhook()
A>    Dim temp As Long

A>    'Cease subclassing.
A>    temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
A>End Sub

Я бы не сказал, что это удачное решение — размещение в модуле и наличие одного хука на все окна, но идею-то можно развить при необходимости. Нужно было бы только написАть, что можно размещать и в модуле формы. Тогда можно учитывать единицы измерения формы (но переводить в пикселы!) и иметь для разных форм разные ращзмеры.
A>Private Declare Sub CopyMemoryToMinMaxInfo Lib "KERNEL32" Alias _
A>   "RtlMoveMemory" (hpvDest As MINMAXINFO, ByVal hpvSource As Long, ByVal cbCopy As Long)
A>Private Declare Sub CopyMemoryFromMinMaxInfo Lib "KERNEL32" Alias _
A>   "RtlMoveMemory" (ByVal hpvDest As Long, hpvSource As MINMAXINFO, ByVal cbCopy As Long)

И где вы только берёте эти функции!
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.