Вверх ↑
Этот топик читают: Гость
Ответов: 177
Рейтинг: 24
#1: 2014-12-23 23:32:52 ЛС | профиль | цитата
В процессе работы программы, текст в Label должен выравниваться по разному, в зависимости от условий. Иногда по правому краю, иногда по левому или по центру. Возможно ли это сделать? Ведь точки "Work", для функции "Alignment" не предусмотрено!
Как быть????

P.S. Упаковка в панель или куда еще с целью выравнивать там, не вариант! Только воздействие на элемент Label и никак иначе!!!

code_34799.txt
карма: 1

0
файлы: 1code_34799.txt [456B] [139]
Разработчик
Ответов: 26324
Рейтинг: 2147
#2: 2014-12-24 00:56:45 ЛС | профиль | цитата
Только так:

Add(MainForm,5692486,357,224)
{
Left=20
Top=105
Font=[Arial,8,0,0,1]
}
Add(Label,4744845,483,224)
{
Left=55
Top=70
Width=285
Color=-16777198
Font=[MS Sans Serif,10,0,12632256,1]
Caption="Привет!!!"
AutoSize=1
Alignment=2
Point(PHandle)
}
Add(Button,11394453,357,273)
{
Left=70
Top=105
Caption="Left"
link(onClick,9055099:doWork1,[(424,279)(424,307)])
}
Add(Button,2153492,357,343)
{
Left=165
Top=105
Caption="Center"
link(onClick,9055099:doWork3,[(396,349)(396,321)])
}
Add(Button,14331316,357,308)
{
Left=265
Top=105
Caption="Right"
link(onClick,9055099:doWork2,[])
}
Add(InlineCode,14762691,490,301)
{
@Hint=#10:HAlignment|
WorkPoints=#11:doAlignment|
DataPoints=#7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|24: PHandle: THI_Event;|56: procedure doAlignment(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|34:procedure THiAsmClass.doAlignment;|3:var|21: sControl: PControl;|5:begin|48: sControl := PControl(ToIntegerEvent(PHandle));|38: if not Assigned(sControl) then exit;|54: sControl.TextAlign := TTextAlign(ToInteger(_Data)); |4:end;|0:|4:end.|
link(PHandle,4744845:PHandle,[])
AddHint(42,55,69,13,@Hint)
}
Add(ChanelToIndex,9055099,434,301)
{
Count=3
link(onIndex,14762691:doAlignment,[])
}

------------ Дoбавленo в 00.40:
Вариант на несколько Label:

Add(MainForm,5692486,427,189)
{
Left=20
Top=105
Font=[Arial,8,0,0,1]
}
Add(Label,4744845,588,203)
{
Left=55
Top=70
Width=285
Color=-16777198
Font=[MS Sans Serif,10,0,12632256,1]
Caption="Привет!!!"
AutoSize=1
Alignment=2
Point(PHandle)
}
Add(Button,11394453,427,238)
{
Left=70
Top=105
Caption="Left"
link(onClick,9055099:doWork1,[(494,244)(494,272)])
}
Add(Button,2153492,427,308)
{
Left=165
Top=105
Caption="Center"
link(onClick,9055099:doWork3,[(466,314)(466,286)])
}
Add(Button,14331316,427,273)
{
Left=265
Top=105
Caption="Right"
link(onClick,9055099:doWork2,[])
}
Add(InlineCode,14762691,651,329)
{
@Hint=#10:HAlignment|
WorkPoints=#11:doAlignment|
DataPoints=#9:Alignment|7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|15: Alignment,|24: PHandle: THI_Event;|56: procedure doAlignment(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|34:procedure THiAsmClass.doAlignment;|3:var|21: sControl: PControl;|5:begin|48: sControl := PControl(ToIntegerEvent(PHandle));|38: if not Assigned(sControl) then exit;|67: sControl.TextAlign := TTextAlign(ReadInteger(_Data, Alignment)); |4:end;|0:|4:end.|
link(Alignment,5235594:Data,[(657,320)(601,320)])
link(PHandle,9619142:Var,[])
AddHint(42,55,69,13,@Hint)
}
Add(ChanelToIndex,9055099,504,266)
{
Count=3
link(onIndex,5235594:doWork1,[])
}
Add(Label,8847195,658,203)
{
Left=55
Top=145
Width=285
Height=20
Color=-16777198
Font=[MS Sans Serif,10,0,12632256,1]
Caption="Привет от nesco!!!"
AutoSize=1
Alignment=2
Point(PHandle)
}
Add(Button,16680053,427,343)
{
Left=70
Top=180
Caption="Left"
link(onClick,13118782:doWork1,[])
}
Add(Button,3081516,427,413)
{
Left=165
Top=180
Caption="Center"
link(onClick,13118782:doWork3,[(473,419)(473,363)])
}
Add(Button,4119746,427,378)
{
Left=265
Top=180
Caption="Right"
link(onClick,13118782:doWork2,[(466,384)(466,356)])
}
Add(GetIndexData,9619142,658,266)
{
link(onIndex,14762691:doAlignment,[(697,272)(697,370)(641,370)(641,335)])
link(Data1,4744845:PHandle,[(664,257)(601,257)])
link(Data2,8847195:PHandle,[])
}
Add(ChanelToIndex,13118782,504,343)
{
Count=3
link(onIndex,5235594:doWork2,[(543,349)(543,279)])
}
Add(ChanelToIndex,5235594,595,266)
{
Point(Data)
link(onIndex,9619142:doIndex,[])
}

------------ Дoбавленo в 00.56:
Lora, а еще лучше, обнови компонент, я только что туда добавил управляемое свойство Alignment
Пример использования, так, на всякий случай:

Add(MainForm,5692486,364,224)
{
Left=20
Top=105
Font=[Arial,8,0,0,1]
}
Add(Label,4744845,504,294)
{
Left=55
Top=70
Width=285
Color=-16777198
Font=[MS Sans Serif,10,0,12632256,1]
Caption="Привет!!!"
AutoSize=1
Alignment=2
Point(PHandle)
Point(doAlignment)
}
Add(Button,11394453,364,273)
{
Left=70
Top=105
Caption="Left"
link(onClick,9055099:doWork1,[(431,279)(431,307)])
}
Add(Button,2153492,364,343)
{
Left=165
Top=105
Caption="Center"
link(onClick,9055099:doWork3,[(403,349)(403,321)])
}
Add(Button,14331316,364,308)
{
Left=265
Top=105
Caption="Right"
link(onClick,9055099:doWork2,[])
}
Add(ChanelToIndex,9055099,441,301)
{
Count=3
link(onIndex,4744845:doAlignment,[])
}

карма: 22

4
Голосовали:Konst, Lora, sla8a, ogrif
Ответов: 177
Рейтинг: 24
#3: 2014-12-24 19:59:08 ЛС | профиль | цитата
nesco писал(а):
Lora, а еще лучше, обнови компонент, я только что туда добавил управляемое свойство Alignment


Спасибо вам большое!!! Не сразу сообразила как правильно обновить компонент, но справилась!
Спасибо! Дед Мороз в Новом году вас не забудет, за доброту и внимание к людям вам наверняка перепадёт вооооот такой подарок, с вооооотакой ленточкой!!! Точно-точно!!!
карма: 1

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