:?: А можно ли в форме, в листбоксе...

Программирование на Visual Basic for Applications
echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

:?: А можно ли в форме, в листбоксе...

Сообщение echo » 27.01.2005 (Чт) 8:49

А можно ли в форме, в листбоксе, в одной (или, бог с ним, во всех) колонках сделать word wrap?
Душа болит... А лечишь её - печень болит!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2005 (Чт) 8:50

О да, через OWNERDRAWVARIABLE...
Гы :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 27.01.2005 (Чт) 9:11

Мусье, я не понял, это было издевательство?! :evil:
Просто, очень длинный текст и в листбокс не влезает одной строкой.
Душа болит... А лечишь её - печень болит!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2005 (Чт) 9:28

Нет, это совершенно точный ответ. Ищи в MSDN прямо это слово... Нет, не "гы", OWNERDRAWVARIABLE...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 27.01.2005 (Чт) 9:53

хм... а можно для чайника поподробнее?
ЗЫ Excel 97
ЗЗЫ Посмотрел... Насколько я понял, это всё не под VBA
Душа болит... А лечишь её - печень болит!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2005 (Чт) 11:29

Гы-гы-гы (теперь уже можно и 3 раза :))
Ну не поддерживается addressof в 97 офисе. Так что придётся юзать внешний компонент для сабклассинга.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.01.2005 (Чт) 12:26

Да поддерживается там всё, я же тебе давал ссылку на сэмпл?
Код: Выделить всё
Option Explicit
'-------------------------------------------------------------------------------------------------------------------
'   Declarations
'
'   These function names were puzzled out by using DUMPBIN /exports
'   with VBA332.DLL and then puzzling out parameter names and types
'   through a lot of trial and error and over 100 IPFs in MSACCESS.EXE
'   and VBA332.DLL.
'
'   These parameters may not be named properly but seem to be correct in
'   light of the function names and what each parameter does.
'
'   EbGetExecutingProj: Gives you a handle to the current VBA project
'   TipGetFunctionId: Gives you a function ID given a function name
'   TipGetLpfnOfFunctionId: Gives you a pointer a function given its function ID
'
'-------------------------------------------------------------------------------------------------------------------
Private Declare Function GetCurrentVbaProject Lib "vba332.dll" Alias "EbGetExecutingProj" (hProject As Long) As Long
Private Declare Function GetFuncID Lib "vba332.dll" Alias "TipGetFunctionId" (ByVal hProject As Long, ByVal strFunctionName As String, ByRef strFunctionId As String) As Long
Private Declare Function GetAddr Lib "vba332.dll" Alias "TipGetLpfnOfFunctionId" (ByVal hProject As Long, ByVal strFunctionId As String, ByRef lpfn As Long) As Long

Public Function AddrOf(strFuncName As String) As Long

'-------------------------------------------------------------------------------------------------------------------
'   AddrOf
'
'   Returns a function pointer of a VBA public function given its name. This function
'   gives similar functionality to VBA as VB5 has with the AddressOf param type.
'
'   NOTE: This function only seems to work if the proc you are trying to get a pointer
'       to is in the current project. This makes sense, since we are using a function
'       named EbGetExecutingProj.
'-------------------------------------------------------------------------------------------------------------------
   
    Dim hProject As Long
    Dim lngResult As Long
    Dim strID As String
    Dim lpfn As Long
    Dim strFuncNameUnicode As String
   
    Const NO_ERROR = 0
   
    ' The function name must be in Unicode, so convert it.
    strFuncNameUnicode = StrConv(strFuncName, vbUnicode)
   
    ' Get the current VBA project
    ' The results of GetCurrentVBAProject seemed inconsistent, in our tests,
    ' so now we just check the project handle when the function returns.
    Call GetCurrentVbaProject(hProject)
   
    ' Make sure we got a project handle... we always should, but you never know!
    If hProject <> 0 Then
        ' Get the VBA function ID (whatever that is!)
        lngResult = GetFuncID(hProject, strFuncNameUnicode, strID)
       
        ' We have to check this because we GPF if we try to get a function pointer
        ' of a non-existent function.
        If lngResult = NO_ERROR Then
            ' Get the function pointer.
            lngResult = GetAddr(hProject, strID, lpfn)
           
            If lngResult = NO_ERROR Then
                AddrOf = lpfn
            End If
        End If
    End If
End Function

Вместо
Код: Выделить всё
lTemp = SetTimer(Me.hwnd, NV_INPUTBOX, 1, AddressOf TimerProc)

надо писать
Код: Выделить всё
lTemp = SetTimer(Me.hwnd, NV_INPUTBOX, 1, AddrOf("TimerProc"))
Изображение


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 58

    TopList