Вверх ↑
Этот топик читают: Гость
Ответов: 87
Рейтинг: 1
#1: 2009-01-15 12:30:13 ЛС | профиль | цитата
Простите нуба, но что-то не выходит у меня реализовать всплывающую надпись, когда программка свёрнута в трей (Windows XP). Задумка - при определённом событии над иконкой программы появляется небольшой "баллончик" с нужным текстом. Заранее спасибо!
карма: 1

0
Ответов: 590
Рейтинг: 19
#2: 2009-01-15 12:31:26 ЛС | профиль | цитата
code_11384.txt
карма: 0

0
файлы: 1code_11384.txt [231B] [215]
Ответов: 87
Рейтинг: 1
#3: 2009-01-15 12:43:43 ЛС | профиль | цитата
Спасибо! Огромное спасибо за оперативность )!!

------------ Дoбавленo:

Только вот, наверное, не то... Мне нужно, чтобы над иконкой появлялось сообщение с нужным текстом.
------------ Дoбавленo:

как хинт установить понял, но как сделать, чтобы текст всплывал?
------------ Дoбавленo:

как хинт установить понял, но как сделать, чтобы текст всплывал?
карма: 1

0
Ответов: 590
Рейтинг: 19
#4: 2009-01-15 12:49:57 ЛС | профиль | цитата
текст итак всплывает, если на него курсором навести.. или тебе нужно, что то иное?
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#5: 2009-01-15 12:50:25 ЛС | профиль | цитата
dimm666 писал(а):
как хинт установить понял, но как сделать, чтобы текст всплывал?

В данной версии возможно нормально сделать только по наведению мышой, тк координаты иконки в трэе определить невозможно штатными средствами. Можно сделать только в углу экрана над трэем всплывающее окно с твоим текстом, как сделано, например, в Avaste
карма: 22

0
Ответов: 87
Рейтинг: 1
#6: 2009-01-15 13:01:16 ЛС | профиль | цитата
nesco писал(а):
В данной версии возможно нормально сделать только по наведению мышой
- обидно, но всёравно спасибо за идею
nesco писал(а):
Можно сделать только в углу экрана над трэем всплывающее окно с твоим текстом, как сделано, например, в Avaste

------------ Дoбавленo:

простите, а нету заготовочки?
карма: 1

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#7: 2009-01-15 14:32:45 ЛС | профиль | цитата
Ну вот тебе окно в стиле Avasta



Add(MainForm,2953706,217,343)
{
}
Add(ChildForm,5459809,700,189)
{
}
BEGIN_SDK
Add(EditMulti,1509659,21,21)
{
WorkCount=3
VarCount=2
link(Var1,8880398:Width,[(27,179)(83,179)])
link(Var2,8880398:Height,[(34,179)(90,179)])
link(doWork1,8880398:doVisible,[(49,27)(49,132)])
link(doWork2,8880398:doLeft,[(49,34)(49,139)])
link(doWork3,8880398:doTop,[(49,41)(49,146)])
}
Add(MainForm,8880398,77,98)
{
Left=35
Top=105
Width=200
Height=150
Color=32768
Visible=1
BorderStyle=6
Point(Width)
Point(Height)
Point(Left)
Point(Top)
Point(doVisible)
Point(doLeft)
Point(doTop)
}
Add(Label,11728618,175,105)
{
Left=55
Top=55
Width=83
Height=28
Color=32768
Font=[MS Sans Serif,14,1,65535,1]
Caption="Привет!"
}
END_SDK
Add(Button,16599676,217,385)
{
Left=15
Top=15
Data=Integer(0)
link(onClick,11226152:doEvent1,[])
}
Add(Timer,1825840,490,399)
{
Interval=5000
Enable=1
AutoStop=1
link(onTimer,6664347:doWork1,[(545,405)(545,195)])
}
Add(ChanelToIndex,6664347,602,189)
{
link(onIndex,5459809:doWork1,[])
}
Add(Screen,6960039,602,231)
{
}
Add(MathParse,13531940,574,329)
{
MathStr="%1 - %2 - 5"
ResultType=0
link(onResult,5459809:doWork2,[(653,335)(653,202)])
link(X1,6960039:Width,[(580,290)(608,290)])
link(X2,5459809:Var1,[(587,297)(706,297)])
}
Add(Hub,11226152,266,385)
{
OutCount=3
link(onEvent1,13531940:doCalc,[(293,391)(293,335)])
link(onEvent2,11141760:doClear,[(301,398)(301,391)])
link(onEvent3,12683002:doTimer,[])
}
Add(MathParse,14541578,609,385)
{
MathStr="%1 - %2*10 - 45"
ResultType=0
link(onResult,5459809:doWork3,[(671,391)(671,209)])
link(X1,6960039:Height,[])
}
Add(Timer,12683002,308,399)
{
Interval=25
Enable=1
link(onTimer,11141760:doCalc,[(348,405)(348,384)])
}
Add(MathParse,11141760,378,378)
{
MathStr="%1 + sign(%2/10 - %1)"
ResultType=0
Point(reCalc)
Point(doClear)
link(onResult,6873405:doCompare,[])
link(X1,11141760:Result,[(384,366)(372,366)(372,422)(384,422)])
link(X2,5459809:Var2,[(391,366)(713,366)])
}
Add(If_else,6873405,434,378)
{
Type=5
Op2=Integer(15)
link(onTrue,1264400:doEvent1,[])
link(onFalse,1825840:doTimer,[(478,391)(478,405)])
}
Add(Hub,1264400,490,378)
{
link(onEvent1,6664347:doWork2,[(553,384)(553,202)])
link(onEvent2,14541578:doCalc,[])
}

------------ Дoбавленo:

А вот такое же окно, но с рамкой


Add(MainForm,8627559,119,280)
{
}
Add(ChildForm,5459809,602,126)
{
}
BEGIN_SDK
Add(EditMulti,1509659,21,21)
{
WorkCount=3
VarCount=2
Width=286
Height=319
link(doWork1,3933300:doEvent1,[(42,27)(42,293)])
link(doWork2,8880398:doLeft,[(98,34)(98,76)])
link(doWork3,8880398:doTop,[(90,41)(90,83)])
link(Var1,15207199:Var1,[(27,114)])
link(Var2,10523023:Var1,[(34,128)])
}
Add(MainForm,8880398,175,42)
{
Left=35
Top=105
Width=200
Height=150
Color=-16777214
Visible=1
BorderStyle=6
Point(Width)
Point(Height)
Point(Handle)
Point(doLeft)
Point(doTop)
Point(doVisible)
}
Add(Label,11728618,238,49)
{
Left=55
Top=55
Width=83
Height=28
Color=-16777214
Font=[MS Sans Serif,14,1,65535,1]
Caption="Привет!"
}
Add(Img_Rectangle,965730,189,287)
{
Point2AsOffset=0
DrawSource=1
Color=65535
Point(Point1)
Point(Point2)
link(Bitmap,8880398:Handle,[])
link(Point1,503282:Point,[])
link(Point2,943195:reCalc,[(216,257)(258,257)])
}
Add(PointXY,503282,203,196)
{
X=5
Y=5
}
Add(GetDataEx,15207199,168,105)
{
link(Data,8880398:Width,[])
}
Add(GetDataEx,10523023,175,119)
{
link(Data,8880398:Height,[])
}
Add(Hub,3933300,63,287)
{
link(onEvent1,10901829:doData,[])
link(onEvent2,8880398:doVisible,[(126,300)(126,90)])
}
Add(MathParse,943195,245,196)
{
MathStr="(%1 - 16)*65536 + (%2 - 16)"
ResultType=0
Point(reCalc)
link(X1,10523023:Var3,[(251,128)])
link(X2,15207199:Var3,[(258,114)])
}
Add(DoData,10901829,133,287)
{
Data=Integer(0)
link(onEventData,965730:doDraw,[])
}
END_SDK
Add(Button,16599676,119,322)
{
Left=15
Top=15
Data=Integer(0)
link(onClick,11226152:doEvent1,[])
}
Add(Timer,1825840,392,336)
{
Interval=5000
Enable=1
AutoStop=1
link(onTimer,6664347:doWork1,[(447,342)(447,132)])
}
Add(ChanelToIndex,6664347,504,126)
{
link(onIndex,5459809:doWork1,[])
}
Add(Screen,6960039,504,168)
{
}
Add(MathParse,13531940,476,266)
{
MathStr="%1 - %2 - 5"
ResultType=0
link(onResult,5459809:doWork2,[(555,272)(555,139)])
link(X1,6960039:Width,[(482,227)(510,227)])
link(X2,5459809:Var1,[(489,234)(608,234)])
}
Add(Hub,11226152,168,322)
{
OutCount=3
link(onEvent1,13531940:doCalc,[(195,328)(195,272)])
link(onEvent2,11141760:doClear,[(203,335)(203,328)])
link(onEvent3,12683002:doTimer,[])
}
Add(MathParse,14541578,511,322)
{
MathStr="%1 - %2*10 - 45"
ResultType=0
link(onResult,5459809:doWork3,[(573,328)(573,146)])
link(X1,6960039:Height,[])
}
Add(Timer,12683002,210,336)
{
Interval=25
Enable=1
link(onTimer,11141760:doCalc,[(250,342)(250,321)])
}
Add(MathParse,11141760,280,315)
{
MathStr="%1 + sign(%2/10 - %1)"
ResultType=0
Point(reCalc)
Point(doClear)
link(onResult,6873405:doCompare,[])
link(X1,11141760:Result,[(286,303)(274,303)(274,359)(286,359)])
link(X2,5459809:Var2,[(293,303)(615,303)])
}
Add(If_else,6873405,336,315)
{
Type=5
Op2=Integer(15)
link(onTrue,1264400:doEvent1,[])
link(onFalse,1825840:doTimer,[(380,328)(380,342)])
}
Add(Hub,1264400,392,315)
{
link(onEvent1,6664347:doWork2,[(455,321)(455,139)])
link(onEvent2,14541578:doCalc,[])
}

карма: 22

0
Ответов: 87
Рейтинг: 1
#8: 2009-01-15 14:41:05 ЛС | профиль | цитата
Спасибо!
карма: 1

0
Ответов: 1161
Рейтинг: 160
#9: 2009-01-15 16:46:31 ЛС | профиль | цитата
мож так лучше( при помощи балона)
code_11387.txt
карма: 0

0
файлы: 1code_11387.txt [696B] [179]
Разработчик
Ответов: 26303
Рейтинг: 2146
#10: 2009-01-15 17:05:05 ЛС | профиль | цитата
LainX писал(а):
при помощи балона

Ну и попробуй, разукрась балон. Давно устарели эти балоны, а форму можно сделать любой -- в этом ее достоинство
------------ Дoбавленo:

Вот еще, положил в публикатор -- всплывает и мягко гаснет

http://www.hiasm.com/sha/shatools.php?q=5&id=100
карма: 22

0
Ответов: 3655
Рейтинг: 69
#11: 2009-01-15 17:11:55 ЛС | профиль | цитата
nesco писал(а):
Ну вот тебе окно в стиле Avasta

Я думаю примеры надо сразу класть в публикатор
и давать ссылку туда.
А то ведь затеряется на форуме и через месяц опять
будет тот же вопрос.
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#12: 2009-01-15 17:14:08 ЛС | профиль | цитата
Вячеслав, уже добавлено, то были прототипы
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2009-01-15 17:20:34 ЛС | профиль | цитата
nesco писал(а):
Давно устарели эти балоны

они не устарели... просто многие программы повыделываться желают.

Вот такая подсказка всплывает в правильном месте трея не зависимо от его полежения точно над иконкой программы



пример с картинки
code_11389.txt

карма: 27
0
файлы: 2bullon_from_tray.png [7.5KB] [249], code_11389.txt [2.6KB] [289]
Разработчик
Ответов: 26303
Рейтинг: 2146
#14: 2009-01-15 17:44:24 ЛС | профиль | цитата
Dilma, надо бы добавить отдельным методом в штатный TrayIcon
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2009-01-15 18:16:50 ЛС | профиль | цитата
добавлено
карма: 27
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)