Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26109
Рейтинг: 2124
#16: 2007-11-28 03:32:43 ЛС | профиль | цитата
Byuik писал(а):
Расширенное вcплывaющee кoнтeкcтнoe мeню в стиле XP
Нет такого компонента на SVN, есть PopUpMenuEx (каша какая-то получилась, пишишь про SVN, а проталкиваешь в схеме черт знает что).
Никакого она события не выдает и блокирует исправно, а вот обратно таким методом уже фиг -- события-то на выходе уже не получишь. Так что работает тут все как надо.
------------ Дoбавленo:

Вот схема. Объясни, где выдается событие на блокированных пунктах



Add(MainForm,1849611,98,182)
{
Left=20
Top=105
Point(onMouseUp)
link(onCreate,3118908:doEvent1,[(160,223)(160,251)])
link(onMouseUp,15922400:doPopupHere,[])
}
Add(PopupMenuEx,15922400,392,224)
{
Menu=#4:АААА|1:(|4:аааа|1:)|4:ББББ|1:(|4:бббб|1:)|4:ВВВВ|1:(|4:вввв|1:)|4:ГГГГ|1:(|4:гггг|1:)|3:ДДД|1:(|4:дддд|1:)|14:Разблокировать|13:Заблокировать|
Font=[MS Sans Serif,8,1,0,1]
Bitmaps=[]
Point(doEnablIdx)
link(MenuItemIdx,1664993:doCase,[])
}
Add(Case,14380155,497,224)
{
Value=Integer(11)
link(onNextCase,7871436:doEvent,[])
link(onTrue,1566596:doEvent1,[])
}
Add(HubEx,5218105,294,294)
{
link(onEvent,12937324:doWork9,[])
}
Add(Hub,3118908,182,245)
{
OutCount=6
link(onEvent1,10413599:doWork2,[])
link(onEvent2,1006727:doWork2,[])
link(onEvent3,16444613:doWork2,[(236,265)(236,279)])
link(onEvent4,15585024:doWork2,[(247,272)(247,293)])
link(onEvent5,5218105:doWork2,[(254,279)(254,307)])
link(onEvent6,8100376:doWork2,[(261,286)(261,328)])
}
Add(HubEx,15585024,280,280)
{
link(onEvent,12937324:doWork7,[])
}
Add(ChanelToIndex,12937324,343,245)
{
Count=12
link(onIndex,15922400:doEnablIdx,[])
}
Add(Case,1664993,441,224)
{
Value=Integer(10)
link(onNextCase,14380155:doCase,[])
link(onTrue,1566596:doEvent2,[(486,237)(486,244)])
}
Add(Hub,4960154,182,322)
{
OutCount=5
link(onEvent1,10413599:doWork3,[(242,328)])
link(onEvent2,1006727:doWork3,[(256,335)])
link(onEvent3,16444613:doWork3,[(270,342)])
link(onEvent4,15585024:doWork3,[(284,349)])
link(onEvent5,5218105:doWork3,[(298,356)])
}
Add(HubEx,10413599,238,238)
{
link(onEvent,12937324:doWork1,[])
}
Add(HubEx,1006727,252,245)
{
link(onEvent,12937324:doWork3,[(288,258)(288,265)])
}
Add(HubEx,16444613,266,266)
{
link(onEvent,12937324:doWork5,[])
}
Add(HubEx,8100376,308,315)
{
link(onEvent,12937324:doWork12,[])
}
Add(Hub,1566596,546,231)
{
InCount=2
OutCount=3
link(onEvent1,4960154:doEvent1,[(611,237)(611,375)(170,375)(170,328)])
link(onEvent2,8100376:doWork3,[(600,244)(600,358)(312,358)])
link(onEvent3,12937324:doWork11,[(590,251)(590,347)(331,347)(331,321)])
}
Add(IndexToChanel,7871436,637,224)
{
Count=10
link(onEvent1,7268207:doEvent1,[])
link(onEvent2,7268207:doEvent2,[])
link(onEvent3,7268207:doEvent3,[])
link(onEvent4,7268207:doEvent4,[])
link(onEvent5,7268207:doEvent5,[])
link(onEvent6,7268207:doEvent6,[])
link(onEvent7,7268207:doEvent7,[])
link(onEvent8,7268207:doEvent8,[])
link(onEvent9,7268207:doEvent9,[])
link(onEvent10,7268207:doEvent10,[])
}
Add(Hub,7268207,693,224)
{
InCount=10
OutCount=1
link(onEvent1,14429151:doMessage,[])
}
Add(Message,14429151,742,224)
{
Message="Есть Событие"
}

карма: 22

0
Ответов: 893
Рейтинг: 18
#17: 2007-11-28 14:31:56 ЛС | профиль | цитата
Вот этот pas файл я использовал
http://hiasm.googlecode.com/svn/elements/delphi/code/hiPopupMenuEx.pas
Проблема исчезла после его замены на старый.
А событие происходило всёравно даже естли заблокирован участок меню на который тыкал мышкой.

А твоя схема не компилится

Build start...
Generated code
Create project...
Command line: dcc32.exe "C:\Program Files\Hiasm165\Elements\delphi\code\Project1.dpr" "-U C:\Program Files\Hiasm165\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

C:\Program Files\Hiasm165\Elements\delphi\code\XPMenus.pas(277) Hint: Variable 'grayBMP' is declared but never used in 'TXPMenu.DrawItem'

C:\Program Files\Hiasm165\Elements\delphi\code\hiPopupMenuEx.pas(10) Error: Class type required

C:\Program Files\Hiasm165\Elements\delphi\code\hiPopupMenuEx.pas(13) Error: Field or method identifier expected

C:\Program Files\Hiasm165\Elements\delphi\code\Project1.dpr(13) Fatal: Could not compile used unit 'hiPopupMenuEx.pas'
Compress code
End build

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#18: 2007-11-28 14:40:32 ЛС | профиль | цитата
Byuik писал(а):
А твоя схема не компилится

Byuik, ты вообще-то понял, что сказал
Ты сказал: что nesco, выложил на SVN не те файлы, которые у него на компе.
А мне, к примеру, он выслал их по почте.
карма: 9

0
Разработчик
Ответов: 26109
Рейтинг: 2124
#19: 2007-11-28 14:45:58 ЛС | профиль | цитата
Byuik, Вытяни нормальные файлы с SVN и не парь мозги. Необходим главный юнит XPMenu.pas, но не старый, твой, а новый (кстати, сегодня обновлен), и остальные -- MenuEx.pas (*.ini) и PopUpMenuEx.pas (*.ini)
карма: 22

0
Ответов: 893
Рейтинг: 18
#20: 2007-11-28 14:49:14 ЛС | профиль | цитата
Galkov писал(а):
Byuik, ты вообще-то понял, что сказал
Ты сказал: что nesco, выложил на SVN не те файлы, которые у него на компе.
А мне, к примеру, он выслал их по почте

Ну ты й выдав

nesco писал(а):
Вытяни нормальные файлы с SVN


спасибо большое счас скачаю.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
20
Сообщение
...
Прикрепленные файлы
(файлы не залиты)