Author |
Topic |
|
TuzhibaevTA
Russia
85 Posts |
Posted - 06/23/2005 : 18:58:28
|
День добрый Уважаемые! В Visio не могу объявить событие CellChanged :( через AddAdvise помогите разобраться с бедой!
Тужибаев Тимур |
|
Tumanov
Russia
1198 Posts |
Posted - 06/23/2005 : 20:08:11
|
Проблемы-то в чем - в CellChanged или AddAdvise? Другие события работают нормально? В SDK кажется хороший пример был - он работает? |
|
|
TuzhibaevTA
Russia
85 Posts |
Posted - 06/24/2005 : 06:52:00
|
quote: Originally posted by Tumanov
Проблемы-то в чем - в CellChanged или AddAdvise? Другие события работают нормально? В SDK кажется хороший пример был - он работает?
Проблема в том что у меня не получается переделать этот пример для CellChanged. Тоесть я либо чтото упускаю, либо чето не работает, но сам пример без изменений работает прекрасно. Вот то как я изменил код из примера:
Implements Visio.IVisEventProc
'Declare visEvtAdd as a 2-byte value 'to avoid a run-time overflow error Private Const visEvtAdd% = &H8000
Private Function IVisEventProc_VisEventProc( _ ByVal nEventCode As Integer, _ ByVal pSourceObj As Object, _ ByVal nEventID As Long, _ ByVal nEventSeqNum As Long, _ ByVal pSubjectObj As Object, _ ByVal vMoreInfo As Variant) As Variant
Dim strMessage As String 'Find out which event fired Select Case nEventCode Case visEvtCell strMessage = "Cell Changed(" & nEventCode & ")" Case Else strMessage = "Other (" & nEventCode & ")" End Select 'Display the event name and the event code Debug.Print strMessage
End Function
_______________________________________________________
Option Explicit
Private mEventSink As clsEventSink
Dim vsoCellEvents As Visio.EventList Dim vsoCellSavedEvent As Visio.Event 'Declare visEvtAdd as a 2-byte value 'to avoid a run-time overflow error Private Const visEvtAdd% = &H8000
Public Sub CreateEventObjects() Set mEventSink = New clsEventSink Set vsoCellEvents = ActivePage.Shapes(1).Cells("Width").EventList
Set vsoCellSavedEvent = vsoCellEvents.AddAdvise( _ visEvtCell , mEventSink, "", "Cell Changed...") End Sub
В итоге ошибка.
Тужибаев Тимур |
|
|
TuzhibaevTA
Russia
85 Posts |
Posted - 06/27/2005 : 07:49:11
|
Проблему решил средствами .NET, через eventhandler
Тужибаев Тимур |
|
|
Tumanov
Russia
1198 Posts |
Posted - 06/27/2005 : 21:50:03
|
Ну и хорошо... А то здесь я как-то не очень уверен, как правильно сделать. Во-первых, кажется код должен быть двойным, не visEvtCell, а visEvtMod+visEvtCell А, во-вторых, опять же кажется, к EventList от Cell это не прилепляется. К Document прилепляется, а помельче не хочет.
|
|
|
TuzhibaevTA
Russia
85 Posts |
Posted - 06/28/2005 : 07:24:42
|
quote: Originally posted by Tumanov
А, во-вторых, опять же кажется, к EventList от Cell это не прилепляется. К Document прилепляется, а помельче не хочет.
Да, эта проблема и тормознула меня, решить ее в лоб я не смог, пришлось обходными путями.
Тужибаев Тимур |
|
|
|
Topic |
|