Вверх ↑
Этот топик читают: Гость
Ответов: 92
Рейтинг: 0
#1: 2019-07-01 01:59:02 ЛС | профиль | цитата
Туплю. Нужно сделать так чтобы при клике на строку пункты меню разблокировались, а при снятии выделения блокировались. Вроде сделал переключение, но пашет через задницу, где-то затупил.


Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,287,266)
{
Width=600
Position=1
link(onCreate,6664560:doWork1,[(550,286)])
}
Add(SQLite_DB,1636117,560,147)
{
FileName="db.db"
link(onOpen,14837064:doEvent1,[])
}
Add(MTStrTbl,3445674,511,231)
{
Left=170
Top=80
Width=382
Height=173
Align=5
Name="mtst"
Layout=""
Columns=#4:№=30|4:id=0|12:Название=120|8:Сайт=150|15:Комментарий=264|
NColorRow=2
FlatScroll=1
ColumnClick=1
ColorItems=0
Grid=0
DrawManager="wardrav"
Point(onMouseDown)
Point(onDblClick)
Point(Handle)
Point(doNColorRow)
Point(doVisible)
link(onClick,12052198:doWork2,[(561,237)(561,370)(478,370)(478,503)])
link(onMouseDown,5373490:doEvent,[])
}
Add(MultiElementEx,14837064,616,147)
{
@Hint=#26:Чтение содержимого таблицы|
link(onEvent1,12587058:doClear,[(681,153)(681,118)])
link(onClear,11427249:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,9691955,3,40)
{
WorkCount=#8:doEvent1|
EventCount=#8:onEvent1|7:onClear|6:onItem|
DataCount=#8:dbHandle|4:Str1|
Width=189
Height=216
link(doEvent1,14363536:doEvent1,[(40,46)(40,48)])
}
Add(Message,11311690,126,210)
{
}
Add(EventFromData,12165874,77,105)
{
link(onEvent,11174548:doString,[(116,111)(116,94)(15,94)(15,111)])
}
Add(MT_Enum,13192474,126,168)
{
link(onItem,9691955:onItem,[(181,174)(181,60)])
}
Add(SQLite_Query,7689105,70,161)
{
link(onQuery,9691955:onClear,[(147,167)(147,53)])
link(onColumns,13192474:doEnum,[])
link(onError,11311690:doMessage,[(114,181)(114,216)])
link(dbHandle,9691955:dbHandle,[(76,147)(9,147)])
link(SQL,12165874:GetData,[])
}
Add(Hub,14363536,77,42)
{
link(onEvent1,9691955:onEvent1,[(141,48)(141,46)])
link(onEvent2,7689105:doQuery,[(118,55)(118,84)(27,84)(27,167)])
}
Add(FormatStr,11174548,21,105)
{
DataCount=1
Mask="select id,color,name,site,comment from `knigi`;"
link(onFString,12165874:doData,[])
link(Str1,9691955:Str1,[(27,66)(16,66)])
}
END_SDK
Add(MST_DB,15833769,875,154)
{
MSTControl="mtst"
}
Add(MST_Clear,12587058,714,112)
{
MSTControl="mtst"
}
Add(LineBreak,1039850,511,322)
{
Caption="Счетчик"
Type=1
link(Data,3445674:Count,[(517,296)(531,296)])
Primary=[7590178,280,-196]
}
Add(MultiElement,11427249,791,154)
{
link(onEvent1,15833769:doAddRow,[])
link(Data1,7590178:Var,[])
}
BEGIN_SDK
Add(EditMulti,14376437,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=951
Height=466
link(doWork1,8481503:doEvent1,[(67,27)(67,125)])
}
Add(MT_String,11347054,209,126)
{
link(onResult,13647491:doMTString,[(250,132)(250,146)])
}
Add(MT_String,13647491,259,126)
{
link(onResult,14376437:onEvent1,[(631,132)(631,27)])
}
Add(Hub,8481503,112,119)
{
link(onEvent1,16589084:doOperation,[(137,125)(137,83)])
link(onEvent2,4287088:doAdd,[])
}
Add(MT_AddData,4287088,161,126)
{
Count=1
InputMT=1
link(onAdd,11347054:doStr,[])
link(Data1,16589084:Result,[])
}
Add(Math,16589084,161,77)
{
Op2=1
ResultType=0
link(Op1,14376437:Data1,[(167,49)(27,49)])
}
END_SDK
Add(IndexToChanel,5373490,609,259)
{
link(onEvent1,12052198:doWork1,[(653,265)(653,381)(478,381)(478,496)])
link(onEvent2,11647668:doPopupHere,[])
}
Add(PopupMenuEx,11647668,679,266)
{
Menu=#8:Добавить|1:-|7:Открыть|11:Переместить|4:Цвет|1:(|5:Белый|6:Желтый|7:Красный|5:Синий|7:Зеленый|1:)|12:Открыть сайт|1:-|7:Удалить|
Bitmaps=[]
Point(doEnablIdx)
}
Add(Button,11285287,427,140)
{
Left=235
Top=175
Align=2
link(onClick,8661489:doWork1,[(485,146)(485,153)])
}
Add(MultiElement,8661489,511,147)
{
@Hint=#12:Создать базу|
link(onEvent1,1636117:doOpen,[])
}
BEGIN_SDK
Add(EditMulti,9260860,21,21)
{
EventCount=1
WorkCount=1
Width=475
Height=396
link(doWork1,14546571:doExecute,[(39,27)(39,69)])
}
Add(SQLite_Exec,15601423,252,63)
{
SQL="CREATE TABLE knigi (\r\n'id' INTEGER PRIMARY KEY AUTOINCREMENT NULL,\r\n'color' TEXT NULL,\r\n'name' TEXT NULL,\r\n'comment' TEXT NULL,\r\n'site' TEXT NULL\r\n);\r\n\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('один', 'текст','youtube.com');\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('два', 'текст','youtube.com');\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('три', 'текст','youtube.com');\r\n"
}
Add(SDialog,14546571,91,63)
{
Filter="SQLite files(*.db)|*.db"
FileName="db.db"
link(onExecute,11481450:doOpen,[])
}
Add(SQLite_DB,11481450,161,63)
{
FileName="db.db"
link(onOpen,10334983:doEvent1,[])
}
Add(Hub,10334983,210,63)
{
OutCount=3
link(onEvent1,15601423:doExec,[])
link(onEvent2,11481450:doClose,[(236,76)(236,64)(149,64)(149,76)])
link(onEvent3,9260860:onEvent1,[(360,83)(360,27)])
}
END_SDK
Add(MultiElement,12052198,490,490)
{
@Hint=#32:Блокировка меню и двойного клика|
link(onEvent1,6664560:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,4801546,21,21)
{
EventCount=2
WorkCount=3
Width=916
Height=634
link(doWork1,8154414:doEvent1,[(61,27)(61,163)])
link(doWork2,6035236:doEvent1,[(71,34)(71,275)])
}
Add(Memory,14227698,287,126)
{
Default=Integer(1)
}
Add(IndexToChanel,1346097,287,175)
{
Point(Index)
link(onEvent2,16177447:doWork2,[(359,188)(359,181)])
link(Index,14227698:Value,[])
}
Add(DoData,4316864,142,185)
{
Data=Integer(0)
link(onEventData,7347134:doEvent1,[])
}
Add(Hub,8154414,100,157)
{
OutCount=3
link(onEvent1,1346097:doEvent,[(162,163)(162,181)])
link(onEvent2,4316864:doData,[(128,170)(128,191)])
}
Add(Memory,15289224,294,231)
{
Default=Integer(0)
}
Add(IndexToChanel,8708684,294,280)
{
Point(Index)
link(onEvent1,16177447:doWork3,[(403,286)])
link(Index,15289224:Value,[])
}
Add(DoData,9772852,163,297)
{
Data=Integer(1)
link(onEventData,3406772:doEvent1,[(225,303)(225,240)])
}
Add(Hub,6035236,121,269)
{
OutCount=3
link(onEvent1,8708684:doEvent,[(183,275)(183,286)])
link(onEvent2,9772852:doData,[(149,282)(149,303)])
}
Add(Hub,3406772,240,234)
{
OutCount=3
link(onEvent1,15856186:doWork2,[(274,240)(274,237)])
link(onEvent2,4226864:doWork3,[(263,247)])
link(onEvent3,13494177:doWork3,[(669,254)])
}
Add(HubEx,4226864,259,126)
{
link(onEvent,14227698:doValue,[])
}
Add(Hub,7347134,191,185)
{
OutCount=3
link(onEvent1,4226864:doWork2,[(243,191)(243,132)])
link(onEvent2,15856186:doWork1,[(284,198)])
link(onEvent3,13494177:doWork2,[(571,205)(571,34)])
}
Add(HubEx,15856186,280,231)
{
link(onEvent,15289224:doValue,[])
}
Add(HubEx,16177447,399,175)
{
link(onEvent,4801546:onEvent1,[(671,181)(671,27)])
}
Add(HubEx,13494177,665,28)
{
link(onEvent,4801546:onEvent2,[])
}
END_SDK
Add(Str_Enum,13211426,567,490)
{
Delimiter=","
link(onEnum,11647668:doEnablIdx,[(639,496)(639,293)])
link(String,5751073:Value,[])
}
Add(Memory,5751073,567,441)
{
Default=String(2,3,4,5,10,12)
}
Add(HubEx,6664560,546,490)
{
link(onEvent,13211426:doEnum,[])
}

карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2019-07-01 12:56:38 ЛС | профиль | цитата
theSever писал(а):
Туплю
Не то слово.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#3: 2019-07-01 13:05:28 ЛС | профиль | цитата
theSever писал(а):
при клике на строку пункты меню разблокировались, а при снятии выделения блокировались.

Это как?
карма: 22

0
Ответов: 92
Рейтинг: 0
#4: 2019-07-01 13:10:57 ЛС | профиль | цитата
nesco писал(а):
theSever писал(а):
при клике на строку пункты меню разблокировались, а при снятии выделения блокировались.

Это как?

Ну если строка выделена то пункты активны, жми нехочу, если строка не выделена то пункты не активны и болт а не холостое срабатывание.

--- Добавлено в 2019-07-01 13:13:12

Tad писал(а):
theSever писал(а):
Туплю
Не то слово.

Местами потоки менял, цифры вроде тоже. Херовый у меня переключатель вышел. Пашет только если блокировка не врубается сразу.

Редактировалось 1 раз(а), последний 2019-07-01 13:13:12
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#5: 2019-07-01 13:47:16 ЛС | профиль | цитата
А так не пойдет?

Схема

Add(MainForm,4858904,385,441)
{
Width=600
Position=1
link(onCreate,13529515:doWork2,[])
}
Add(SQLite_DB,1636117,350,98)
{
FileName="db.db"
link(onOpen,14837064:doEvent1,[])
}
Add(MTStrTbl,3445674,203,238)
{
Left=170
Top=80
Width=382
Height=173
Align=5
Name="mtst"
Layout=""
Columns=#4:№=30|4:id=0|12:Название=120|8:Сайт=150|15:Комментарий=264|
NColorRow=2
FlatScroll=1
ColumnClick=1
ColorItems=0
Grid=0
DrawManager="wardrav"
Point(onMouseDown)
Point(onDblClick)
Point(Handle)
Point(doNColorRow)
Point(doVisible)
Point(onMouseMove)
link(onMouseMove,5373490:doEvent,[])
}
Add(MultiElementEx,14837064,406,98)
{
@Hint=#26:Чтение содержимого таблицы|
link(onEvent1,12587058:doClear,[(471,104)(471,69)])
link(onClear,11427249:doWork1,[])
}
BEGIN_SDK
Add(EditMultiEx,9691955,3,40)
{
WorkCount=#8:doEvent1|
EventCount=#8:onEvent1|7:onClear|6:onItem|
DataCount=#8:dbHandle|4:Str1|
Width=189
Height=216
link(doEvent1,14363536:doEvent1,[(40,46)(40,48)])
}
Add(Message,11311690,126,210)
{
}
Add(EventFromData,12165874,77,105)
{
link(onEvent,11174548:doString,[(116,111)(116,94)(15,94)(15,111)])
}
Add(MT_Enum,13192474,126,168)
{
link(onItem,9691955:onItem,[(181,174)(181,60)])
}
Add(SQLite_Query,7689105,70,161)
{
link(onQuery,9691955:onClear,[(147,167)(147,53)])
link(onColumns,13192474:doEnum,[])
link(onError,11311690:doMessage,[(114,181)(114,216)])
link(dbHandle,9691955:dbHandle,[(76,147)(9,147)])
link(SQL,12165874:GetData,[])
}
Add(Hub,14363536,77,42)
{
link(onEvent1,9691955:onEvent1,[(141,48)(141,46)])
link(onEvent2,7689105:doQuery,[(118,55)(118,84)(27,84)(27,167)])
}
Add(FormatStr,11174548,21,105)
{
DataCount=1
Mask="select id,color,name,site,comment from `knigi`;"
link(onFString,12165874:doData,[])
link(Str1,9691955:Str1,[(27,66)(16,66)])
}
END_SDK
Add(MST_DB,15833769,644,105)
{
MSTControl="mtst"
}
Add(MST_Clear,12587058,504,63)
{
MSTControl="mtst"
}
Add(LineBreak,14386849,217,350)
{
Caption="Счетчик"
Type=1
link(Data,3445674:Count,[])
Primary=[7590178,364,-273]
}
Add(MultiElement,11427249,581,105)
{
link(onEvent1,15833769:doAddRow,[])
link(Data1,7590178:Var,[])
}
BEGIN_SDK
Add(EditMulti,14376437,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=951
Height=466
link(doWork1,8481503:doEvent1,[(67,27)(67,125)])
}
Add(MT_String,11347054,209,126)
{
link(onResult,13647491:doMTString,[(250,132)(250,146)])
}
Add(MT_String,13647491,259,126)
{
link(onResult,14376437:onEvent1,[(631,132)(631,27)])
}
Add(Hub,8481503,112,119)
{
link(onEvent1,16589084:doOperation,[(137,125)(137,83)])
link(onEvent2,4287088:doAdd,[])
}
Add(MT_AddData,4287088,161,126)
{
Count=1
InputMT=1
link(onAdd,11347054:doStr,[])
link(Data1,16589084:Result,[])
}
Add(Math,16589084,161,77)
{
Op2=1
ResultType=0
link(Op1,14376437:Data1,[(167,49)(27,49)])
}
END_SDK
Add(IndexToChanel,5373490,273,280)
{
Point(Data)
link(onEvent2,1126204:doEvent1,[])
}
Add(PopupMenuEx,11647668,616,294)
{
Menu=#8:Добавить|1:-|7:Открыть|11:Переместить|4:Цвет|1:(|5:Белый|6:Желтый|7:Красный|5:Синий|7:Зеленый|1:)|12:Открыть сайт|1:-|7:Удалить|
Bitmaps=[]
Point(doIdxEnabled)
}
Add(Button,11285287,245,98)
{
Left=235
Top=175
Align=2
link(onClick,8661489:doWork1,[])
}
Add(MultiElement,8661489,301,98)
{
@Hint=#12:Создать базу|
link(onEvent1,1636117:doOpen,[])
}
BEGIN_SDK
Add(EditMulti,9260860,21,21)
{
EventCount=1
WorkCount=1
Width=475
Height=396
link(doWork1,14546571:doExecute,[(39,27)(39,69)])
}
Add(SQLite_Exec,15601423,252,63)
{
SQL="CREATE TABLE knigi (\r\n'id' INTEGER PRIMARY KEY AUTOINCREMENT NULL,\r\n'color' TEXT NULL,\r\n'name' TEXT NULL,\r\n'comment' TEXT NULL,\r\n'site' TEXT NULL\r\n);\r\n\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('один', 'текст','youtube.com');\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('два', 'текст','youtube.com');\r\nINSERT INTO 'knigi' ('name', 'comment', 'site') VALUES ('три', 'текст','youtube.com');\r\n"
}
Add(SDialog,14546571,91,63)
{
Filter="SQLite files(*.db)|*.db"
FileName="db.db"
link(onExecute,11481450:doOpen,[])
}
Add(SQLite_DB,11481450,161,63)
{
FileName="db.db"
link(onOpen,10334983:doEvent1,[])
}
Add(Hub,10334983,210,63)
{
OutCount=3
link(onEvent1,15601423:doExec,[])
link(onEvent2,11481450:doClose,[(236,76)(236,64)(149,64)(149,76)])
link(onEvent3,9260860:onEvent1,[(360,83)(360,27)])
}
END_SDK
Add(Str_Enum,13211426,476,455)
{
Delimiter=","
link(onEnum,14089918:doAdd,[])
link(String,5751073:Value,[])
}
Add(Memory,5751073,476,406)
{
Default=String(2,3,4,5,10,12)
}
Add(MT_Add,14089918,539,455)
{
link(onAdd,11647668:doIdxEnabled,[(602,461)(602,321)])
link(Data,6955257:State,[])
}
Add(Switch,6955257,539,350)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(State)
Point(doOn)
}
Add(If_else,9861290,476,357)
{
Op2=Integer(-1)
link(onTrue,6955257:doReset,[])
link(onFalse,6955257:doOn,[])
}
Add(Hub,13672159,427,357)
{
link(onEvent1,9861290:doCompare,[])
link(onEvent2,13529515:doWork1,[(452,370)])
}
Add(HubEx,13529515,448,455)
{
link(onEvent,13211426:doEnum,[])
}
Add(DeferredEvent,2973105,378,357)
{
InData=0
Point(Data)
link(onDeferredEvent,13672159:doEvent1,[])
link(Data,3445674:Index,[(384,341)(216,341)])
}
Add(Hub,1126204,329,287)
{
link(onEvent1,2973105:doDeferredEvent,[(361,293)(361,363)])
link(onEvent2,11647668:doPopupHere,[])
}


Редактировалось 1 раз(а), последний 2019-07-01 13:48:57
карма: 22

0
Ответов: 92
Рейтинг: 0
#6: 2019-07-01 13:50:13 ЛС | профиль | цитата
nesco писал(а):
А так не пойдет?

Схема

Да, отлично работает. Я утупок блин. Спасибо!
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#7: 2019-07-01 13:52:05 ЛС | профиль | цитата
Я просто не знаю, какую ты схему скачал, я ее немного подправил. Но в последней правке я убрал реакцию на ЛКМ. КМК, она там и нафиг не нужна

Редактировалось 1 раз(а), последний 2019-07-01 13:52:33
карма: 22

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)