Вверх ↑
Этот топик читают: Гость
Ответов: 590
Рейтинг: 19
#1: 2009-03-11 19:29:41 ЛС | профиль | цитата
как можно реализовать, чтоб при клике на картинке, выдавался какой либо текст... вообщем как в icq... можно конеш, если проще, сами смайлы что-бы были в другом компоненте.. например рич едит...
карма: 0

0
Ответов: 3514
Рейтинг: 184
#2: 2009-03-11 20:40:39 ЛС | профиль | цитата
Перефразируй
карма: 0
0
Ответов: 590
Рейтинг: 19
#3: 2009-03-11 21:26:17 ЛС | профиль | цитата
Астрамак писал(а):
Перефразируй

Короче, мне нужно, чтобы при клике на картинке, допустим смайл улыбки, выдавался текст , грустный смайлик, выдавался текст =(, это не сложно, но проблема в том, что картинки должны грузится из папки, например img. Просто натолкать компонентов, для загрузки картинок, из раздела графика не выйдет... т.к. кол-во картинок не известно... проще говоря, мне надо реализовать то, что реализовано в icq... жмешь кнопку, выпадает список со смайлами, жмешь на любой и его текст вставляется в поле ввода текста..

вот, что то, на подобии такого
можно в отдельном окне... пробовал с компонентом WebBrowser, но как сделать, чтоб при клике на картинку, выдавался предопределенный текст, да и в webbrowser'e есть тока точка, которая отвечает за код нажатой кнопки мышки...
карма: 0

0
Ответов: 3514
Рейтинг: 184
#4: 2009-03-11 21:33:27 ЛС | профиль | цитата
Схемы -> Гранат (или Granat, не помню)
карма: 0
0
Ответов: 590
Рейтинг: 19
#5: 2009-03-11 22:07:05 ЛС | профиль | цитата
файл удален.. (
карма: 0

0
Ответов: 3851
Рейтинг: 159
#6: 2009-03-11 22:47:27 ЛС | профиль | цитата
EcsTasY писал(а):
картинки должны грузится из папки
почему так? где тогда брать соответствие картинки тексту?

Варианты:
1. динамические панели с картинками (по ним можно кликать) внутри скролбокса.
2. подготовленный хтмл в WebBrowser, где картинка при клике выдаёт текст (не знаю как сделать).
3.
карма: 0
начавший
0
Ответов: 590
Рейтинг: 19
#7: 2009-03-11 22:51:48 ЛС | профиль | цитата
Андрей. писал(а):
где тогда брать соответствие картинки тексту?

тоже из файла...

Андрей. писал(а):
динамические панели с картинками (по ним можно кликать) внутри скролбокса.

гм.. ты про
code_12130.txt


если да, то
EcsTasY писал(а):
кол-во картинок не известно

карма: 0

0
файлы: 1code_12130.txt [203B] [136]
Ответов: 3514
Рейтинг: 184
#8: 2009-03-11 23:03:02 ЛС | профиль | цитата
Add(ChildForm,11873290,378,28){
@Hint=#
}
BEGIN_SDK
Add(EditMulti,15591582,21,21)
{
@Hint=#
EventCount=1
WorkCount=1
Width=671
Height=277
link(doWork1,1465576:doEvent1,[(42,27)(42,111)])
}
Add(Switch,21305,112,140)
{
@Hint=#
Point(onOff)
Point(onOn)
}
Add(MouseEvent,14097905,217,49)
{
@Hint=#
}
Add(DoData,14050124,217,140)
{
@Hint=#
link(onEventData,13677805:doLeft,[])
link(Data,14097905:MouseX,[])
}
Add(Hub,1465576,63,105)
{
@Hint=#
OutCount=3
link(onEvent1,2991893:In,[])
link(onEvent2,7745428:In,[])
link(onEvent3,13677805:doVisible,[(223,125)(223,160)])
}
Add(LineBreak,7440504,175,140)
{
@Hint=#
link(Out,14050124:doData,[])
Primary=[2991893,-56,-35]
}
Add(DoData,1648152,224,182)
{
@Hint=#
link(onEventData,13677805:doTop,[(303,188)(303,153)])
link(Data,14097905:MouseY,[])
}
Add(LineBreak,6322720,182,182)
{
@Hint=#
link(Out,1648152:doData,[])
Primary=[7745428,-28,-70]
}
Add(MainForm,13677805,350,105)
{
@Hint=#
Left=35
Top=105
Width=130
Height=107
Visible=1
Caption="Смайлики"
BorderStyle=6
Position=1
Point(doShowModal)
Point(doLeft)
Point(doTop)
Point(doVisible)
}
Add(ChildScrollBox,9091312,511,119)
{
@Hint=#
link(onEvent1,7701463:doEvent1,[])
}
BEGIN_SDK
Add(EditMulti,6050193,21,21)
{
@Hint=#
EventCount=1
}
Add(ScrollBox,16281953,70,49)
{
@Hint=#
Width=130
Height=107
Align=5
Color=16777215
Ctl3D=1
}
Add(ChildPanelEx,2427605,252,140)
{
@Hint=#
Mode=1
link(onEventData,6050193:onEvent1,[(302,146)(302,27)])
}
BEGIN_SDK
Add(EditMultiEx,7190851,21,21)
{
@Hint=#
WorkCount=#5:##add|
EventCount=#11:onEventData|
Width=321
Point(##add)
link(##add,1465992:doValue,[(105,27)(105,104)])
}
Add(Panel,2768452,252,42)
{
@Hint=#
Width=250
Height=25
Align=2
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doBringToFront)
}
Add(ChildPanelEx,7282713,252,154)
{
@Hint=#
Mode=1
link(onEventData,7190851:onEventData,[(302,160)(302,27)])
}
BEGIN_SDK
Add(EditMultiEx,12641595,21,21)
{
@Hint=#
WorkCount=#5:##add|
EventCount=#11:onEventData|
Width=825
Height=452
Point(##add)
link(##add,10323516:doGet,[(45,27)(45,125)])
}
Add(Panel,9258824,322,105)
{
@Hint=#
Width=25
Height=25
Align=1
Color=16777215
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(Handle)
}
Add(Image,5547006,378,273)
{
@Hint=#
Width=25
Height=25
Align=5
Color=16777215
ViewStyle=0
Point(Handle)
Point(ImageWidth)
Point(ImageHeight)
Point(doVisible)
Point(onMouseMove)
link(onClick,12338099:doEvent1,[(422,279)(422,219)(380,219)(380,160)])
link(onMouseMove,4424550:doTimer,[(422,286)(422,321)(121,321)(121,356)])
}
Add(MT_Get,10323516,70,119)
{
@Hint=#
link(onData,10876460:doGet,[])
link(onGet,15891237:doValue,[])
}
Add(MT_Get,10876460,168,119)
{
@Hint=#
link(onData,8722394:doString,[(212,125)(212,199)(114,199)(114,279)])
link(onGet,3659109:doValue,[])
}
Add(Memory,15891237,119,126)
{
@Hint=#
}
Add(Memory,3659109,224,126)
{
@Hint=#
}
Add(FormatStr,8722394,126,273)
{
@Hint=#
DataCount=3
Mask="%1\smiles\\%2%3.bmp"
Point(FString)
link(onFString,2784691:doFileExists,[])
link(Str1,12406106:Var2,[])
link(Str2,10272803:Var2,[(139,227)(125,227)])
link(Str3,11069736:Var2,[(146,234)(230,234)])
}
Add(Dir,16429094,126,189)
{
@Hint=#
}
Add(PictureStream,6872566,301,273)
{
@Hint=#
Quality=100
link(onLoad,5547006:doLoad,[])
link(FileName,8722394:FString,[(307,261)(219,261)(219,317)(132,317)])
}
Add(Img_Rectangle,2275015,378,378)
{
@Hint=#
DrawSource=1
Color=65280
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,13867544:Var2,[])
link(Point1,10823643:Point,[])
link(Point2,11574034:Point,[(405,366)(433,366)])
}
Add(PointXY,10823643,392,322)
{
@Hint=#
}
Add(PointXY,11574034,427,322)
{
@Hint=#
X=24
Y=24
}
Add(MouseEvent,8421258,161,308)
{
@Hint=#
Point(Handle)
}
Add(If_else,5893718,175,350)
{
@Hint=#
link(onTrue,1964747:doEvent1,[(265,356)(265,384)])
link(onFalse,15006888:doRedraw,[(247,363)(247,440)])
link(Op1,8421258:Handle,[])
link(Op2,14275068:Var1,[(188,331)])
}
Add(Timer,4424550,133,350)
{
@Hint=#
Interval=100
link(onTimer,5893718:doCompare,[])
}
Add(WinTools,15006888,287,406)
{
@Hint=#
Point(doRedraw)
link(Handle,14275068:Var2,[(293,370)(335,370)])
}
Add(GetDataEx,13867544,371,322)
{
@Hint=#
Angle=1
link(Data,5547006:Handle,[(391,331)])
}
Add(GetDataEx,14275068,322,322)
{
@Hint=#
Angle=1
link(Data,9864529:Var1,[])
}
Add(Img_Bmp,637203,567,392)
{
@Hint=#
DrawSource=1
Point(X)
Point(Y)
link(Bitmap,9864529:Var2,[(573,367)(356,367)])
link(SourceBitmap,5547006:ImageBitmap,[(580,352)(384,352)])
link(X,13348735:Result,[(587,380)(538,380)(538,436)(489,436)])
link(Y,4822442:Result,[(594,380)(562,380)(562,436)(531,436)])
}
Add(GetDataEx,9864529,343,322)
{
@Hint=#
Angle=1
link(Data,13867544:Var1,[])
}
Add(Hub,1964747,322,378)
{
@Hint=#
OutCount=3
link(onEvent1,2275015:doDraw,[])
link(onEvent2,13348735:doCalc,[(440,391)(440,398)])
}
Add(MathParse,13348735,483,392)
{
@Hint=#
DataCount=1
MathStr="(25 - %1) / 2"
ResultType=0
link(onResult,4822442:doCalc,[])
link(X1,5547006:ImageWidth,[(489,348)(398,348)])
}
Add(MathParse,4822442,525,392)
{
@Hint=#
DataCount=1
MathStr="(25 - %1) / 2"
ResultType=0
link(onResult,637203:doDraw,[])
link(X1,5547006:ImageHeight,[(531,348)(405,348)])
}
Add(FileTools,2784691,168,252)
{
@Hint=#
link(onEnd,8840166:doEvent,[])
}
Add(IndexToChanel,8840166,210,252)
{
@Hint=#
link(onEvent1,8163513:doWork1,[(272,258)(272,237)])
link(onEvent2,12994809:doEvent1,[(250,265)(250,272)])
}
Add(Hub,12994809,259,266)
{
@Hint=#
link(onEvent1,8163513:doWork2,[(296,272)(296,244)])
link(onEvent2,6872566:doLoad,[])
}
Add(ChanelToIndex,8163513,301,231)
{
@Hint=#
link(onIndex,5547006:doVisible,[(363,237)(363,293)])
}
Add(StrList,12917210,476,126)
{
@Hint=#
}
Add(FormatStr,9212153,434,154)
{
@Hint=#
DataCount=1
Mask="%1\smiles\smiles.ini"
link(onFString,12917210:doLoad,[])
link(Str1,12406106:Var3,[(440,142)(288,142)(288,240)])
}
Add(GetDataEx,12406106,119,231)
{
@Hint=#
link(Data,16429094:CurrentDir,[])
}
Add(StrPart,12772787,532,182)
{
@Hint=#
Char="="
Point(Left)
Point(Right)
link(onSplit,4392071:doValue,[])
}
Add(Hub,12338099,392,154)
{
@Hint=#
link(onEvent1,9212153:doString,[])
link(onEvent2,12656395:doEnum,[(457,167)(457,188)])
}
Add(ArrayEnum,12656395,490,182)
{
@Hint=#
link(onItem,12772787:doSplit,[])
link(Array,12917210:Array,[])
}
Add(If_else,16175717,658,182)
{
@Hint=#
link(onTrue,5027624:doReplace,[])
link(Op1,12772787:Left,[(664,170)(580,170)(580,226)(538,226)])
link(Op2,11728985:Result,[(671,170)(647,170)(647,226)(622,226)])
}
Add(StrCat,11728985,616,182)
{
@Hint=#
link(onStrCat,16175717:doCompare,[])
link(Str1,10272803:Var3,[(622,177)])
link(Str2,11069736:Var3,[(629,170)(411,170)(411,191)])
}
Add(GetDataEx,10272803,112,168)
{
@Hint=#
link(Data,15891237:Value,[])
}
Add(GetDataEx,11069736,217,182)
{
@Hint=#
link(Data,3659109:Value,[])
}
Add(Replace,5027624,698,182)
{
@Hint=#
SubStr=" , "
DestStr="13"
link(onReplace,3280114:doSplit,[])
link(Str,4392071:Value,[(704,170)(642,170)(642,226)(580,226)])
}
Add(StrPart,3280114,742,182)
{
@Hint=#
Char="13"
Point(onNotFound)
link(onSplit,2273986:doWork2,[])
link(onNotFound,2273986:doWork3,[(788,202)])
}
Add(Memory,4392071,574,182)
{
@Hint=#
link(onData,11728985:doStrCat,[])
}
Add(HubEx,2273986,784,175)
{
@Hint=#
link(onEvent,12641595:onEventData,[(819,188)(819,27)])
}
END_SDK
Add(MT_AddData,14451859,182,154)
{
@Hint=#
InputMT=0
link(onAdd,7282713:##add,[])
link(Data2,1465992:Value,[])
}
Add(Memory,1465992,189,98)
{
@Hint=#
}
Add(Timer,1170983,91,154)
{
@Hint=#
Interval=10
AutoStop=5
link(onTimer,12030991:doNext,[])
}
Add(Counter,12030991,140,154)
{
@Hint=#
Max=5
link(onNext,14451859:doAdd,[])
}
END_SDK
Add(Timer,1170983,161,140)
{
@Hint=#
Interval=10
AutoStop=4
link(onTimer,12030991:doNext,[])
}
Add(Counter,12030991,203,140)
{
@Hint=#
Max=5
link(onNext,2427605:##add,[])
}
END_SDK
Add(Keyboard,6900861,392,203)
{
@Hint=#
Key=1
link(onReadKey,13862517:doCompare,[])
}
Add(Timer,7463481,350,203)
{
@Hint=#
Interval=100
link(onTimer,6900861:doReadKey,[])
}
Add(If_else,13862517,434,203)
{
@Hint=#
Op2=Integer(1)
link(onTrue,10198467:doWork3,[(480,209)])
}
Add(Hub,7701463,553,119)
{
@Hint=#
link(onEvent1,15591582:onEvent1,[(597,125)(597,76)(491,76)(491,27)])
link(onEvent2,10198467:doWork1,[(597,132)(597,188)])
}
Add(HubEx,10198467,476,175)
{
@Hint=#
Angle=3
link(onEvent,13677805:doClose,[(480,157)(338,157)(338,132)])
}
END_SDK
карма: 0
0
Ответов: 3851
Рейтинг: 159
#9: 2009-03-11 23:06:04 ЛС | профиль | цитата
EcsTasY, динамические - code_12132.txt (математику "перевода строки" додумаешь сам?)..
карма: 0
начавший
1
файлы: 1code_12132.txt [454B] [181]
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#10: 2009-03-12 00:28:51 ЛС | профиль | цитата
Астрамак, схему поправь...
Андрей. писал(а):
(математику "перевода строки" додумаешь сам?)

Конеш Пасиб
карма: 0

0
Ответов: 3514
Рейтинг: 184
#11: 2009-03-12 09:15:46 ЛС | профиль | цитата
Поправил
карма: 0
1
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#12: 2009-03-12 18:52:23 ЛС | профиль | цитата
гм.. проблемка тут появилась... в схеме астрамака только bmp можно использовать.. а это не очень удобно, т.к. нужны анимированные смайлы..
Ту схемку, что дал Андрей, я доделал.. но проблема с ViewStyle... схема ниже...
карма: 0

0
файлы: 1smilies.rar [31.3KB] [101]
Ответов: 1088
Рейтинг: 112
#13: 2009-03-12 19:53:00 ЛС | профиль | цитата
Это чтоль
Add(MainForm,2953706,406,161)
{
Left=-500
Top=-500
Caption="Smile!"
Position=1
link(onCreate,5079431:doEvent1,[])
}
Add(ChildPanelEx,4126629,658,140)
{
Mode=1
link(FileName,6079127:Item,[(671,128)(724,128)(724,333)(643,333)])
}
BEGIN_SDK
Add(EditMultiEx,6184921,14,14)
{
WorkCount=#5:##add|8:##select|14:doLoadFromFile|
DataCount=#4:Data|8:FileName|
Width=482
Height=319
Point(##add)
Point(##select)
link(doLoadFromFile,10973663:doEvent1,[(60,34)(60,153)])
}
Add(Panel,8927933,287,196)
{
Width=64
Height=64
Layout="parent.asd"
BevelInner=1
BevelWidth=0
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(Handle)
}
Add(Gif,7138988,161,147)
{
DefaultDelay=0
Point(GIFWidth)
Point(GIFHeight)
link(onDraw,1303892:doRefresh,[(209,160)(209,153)])
link(FileName,6184921:FileName,[(167,46)(27,46)])
link(Bitmap,1303892:Bitmap,[(174,135)(202,135)(202,191)(230,191)])
}
Add(Hub,10973663,105,147)
{
OutCount=3
link(onEvent1,7138988:doLoadFromFile,[])
link(onEvent2,10124528:doData,[(140,160)(140,202)])
link(onEvent3,4139801:doData,[(133,167)(133,244)])
}
Add(DoData,10124528,161,196)
{
link(onEventData,8927933:doWidth,[(240,202)(240,223)])
link(Data,7138988:GIFWidth,[])
}
Add(DoData,4139801,168,238)
{
link(onEventData,8927933:doHeight,[(244,244)(244,230)])
link(Data,7138988:GIFHeight,[])
}
Add(PaintBox,1303892,224,147)
{
Width=64
Height=64
Align=5
Point(Handle)
}
END_SDK
Add(Counter,16304328,168,133)
{
Max=200000
Step=21
Point(doValue)
link(onNext,4322541:doEvent1,[])
}
Add(Counter,15548539,259,203)
{
Max=5
link(onNext,11300283:doCompare,[])
}
Add(Hub,4322541,217,133)
{
OutCount=3
link(onEvent1,2957322:doWork2,[])
link(onEvent2,13981233:doCalc,[])
link(onEvent3,15548539:doNext,[(245,153)(245,209)])
}
Add(If_else,11300283,308,203)
{
Op2=Integer(5)
link(onTrue,12568878:doData,[])
}
Add(DoData,12568878,364,203)
{
Data=Integer(-20)
link(onEventData,16304328:doValue,[(450,209)(450,274)(157,274)(157,160)])
}
Add(FileSearch,16142951,560,224)
{
Ext="*.gif"
SubDir=1
link(onSearch,7169424:doAdd,[])
link(Dir,5830974:FString,[])
}
Add(StrList,7169424,623,224)
{
}
Add(ArrayRW,6079127,637,287)
{
Point(Count)
link(onRead,4126629:doLoadFromFile,[(681,293)(681,227)(646,227)(646,160)])
link(Array,7169424:Array,[])
link(Index,13981233:Result,[(650,277)(258,277)])
}
Add(FastMathParse,13981233,252,140)
{
MathStr="%0 + 1"
ResultType=0
link(onResult,6186810:doWork2,[])
}
Add(FormatStr,5830974,567,175)
{
DataCount=1
Mask="%1img"
Point(FString)
link(onFString,16142951:doSearch,[(610,181)(610,213)(548,213)(548,230)])
}
Add(Hub,3403477,308,140)
{
PColor(onEvent1,12615808)
link(onEvent1,6079127:doRead,[(351,146)(351,293)])
link(onEvent2,4126629:##select,[])
}
Add(Hub,5079431,469,175)
{
OutCount=5
link(onEvent1,5830974:doString,[])
link(onEvent2,2957322:doWork3,[(536,188)])
link(onEvent3,6186810:doWork3,[(498,195)(498,159)(298,159)])
link(onEvent4,10792067:doCalc,[(529,202)(529,384)])
}
Add(HubEx,6186810,294,133)
{
link(onEvent,3403477:doEvent1,[])
}
Add(HubEx,2957322,532,126)
{
link(onEvent,4126629:##add,[(599,139)(599,146)])
}
Add(For,2413611,707,378)
{
link(onEvent,16304328:doNext,[(747,384)(747,433)(146,433)(146,139)])
link(End,10792067:Result,[(720,366)(685,366)(685,422)(650,422)])
}
Add(FastMathParse,10792067,644,378)
{
MathStr="%1 - 2"
link(onResult,2413611:doFor,[])
link(X1,6079127:Count,[])
}
Add(ToolBarLayout,13854516,658,77)
{
Name="asd"
Space=1
Padding=5
AutoSize=0
}

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

Мне аж самому понравилось
особенно когда смайлов > 40.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#14: 2009-03-12 19:56:51 ЛС | профиль | цитата
Sniper36 писал(а):
Это чтоль

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

0
Ответов: 1088
Рейтинг: 112
#15: 2009-03-12 19:59:16 ЛС | профиль | цитата
Ты смайлов то добавь и размер формы измени.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:EcsTasY
Сообщение
...
Прикрепленные файлы
(файлы не залиты)