Вверх ↑
Разработчик
Ответов: 26305
Рейтинг: 2146
#1: 2010-01-10 20:57:08 ЛС | профиль | цитата
MAV писал(а):
Для оконного режима есть одна заморочка связанна с заголовком формы, а вернее с тем что его нельзя измерить, из за этого вылазит погрешность

Ну почему же нельзя



Add(MainForm,7976713,189,203)
{
Position=1
Point(Handle)
link(onCreate,11683312:doSizeHeader,[(233,223)(233,244)(177,244)(177,265)])
}
Add(Edit,1034719,245,259)
{
Left=120
Top=30
Width=120
Text=""
Point(SizeHeader)
}
Add(InlineCode,11683312,189,259)
{
WorkPoints=#12:doSizeHeader|
EventPoints=#6:Result|
DataPoints=#6:Handle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|30:uses Windows, kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|12: Handle,|24: Result : THI_Event;|57: procedure doSizeHeader(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|35:procedure THiAsmClass.doSizeHeader;|3:var|12: P: TPoint;|13: h: integer;|14: Rect: TRect;|5:begin|31: h := ToIntegerEvent(Handle); |21: P.x := 0; P.y := 0;|23: ClientToScreen(h, P);|25: GetWindowRect(h, Rect);|38: _hi_onEvent(Result, P.y - Rect.Top);|4:end;|0:|4:end.|
link(Result,1034719:doText,[])
link(Handle,7976713:Handle,[])
}

------------ Дoбавленo в 21.26:
Вообще-то тут немного доделать надо, а то вычисляет только при нулевом положении формы

Исправил на нормальное определение
карма: 22

1
Голосовали:MAV