Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограничение TControl.Top.


Дмитрий С ©   (2010-03-06 08:34:00) 

Почему subj не может быть больше ~32768 ?
Хочу разместить на форме 50 фреймов высотой 800 каждый. Расставляю их друг за другом вручную. VerticalScrollBar.Range устанавливаю. Но начиная с высоты ~32768 фреймы хз вообще где появляются.
Располагаю все фреймы следующий образом:

var
 I: Integer;
 T: Integer;
begin
 if AForce then
 begin
   P := VertScrollBar.Position;
   VertScrollBar.Range := 0;
   T := 0;
   for I := 0 to Pred(FFrameList.Count) do
   begin
     with TPhotoFrame(FFrameList[I]) do
     begin
       Width :=  Self.ClientWidth;
       Top := T;
        if Top <> T then
          Top := T;

       Inc(T, Height);
     end;
   end;
   Self.VertScrollBar.Range := T;
   VertScrollBar.Position := P;
 end;
end;

То что выделил - добавил для отладки.
Останавливаю программу на выделенной строке и получаю, что Top = 148 (при T > ~32768). Откуда вообще это число берется: 148.

Из-за чего так? Как побороть?

Win7, Delphi2010.


Дмитрий С   (2010-03-06 16:10:00) [1]


> Игорь Шевченко ©   (06.03.10 13:14) [2]
>
> координаты окна не могут быть больше 32768 и меньше -32768,
>  ограничение совместимости с 16-битными приложениями под
> Windows.
>

Спасибо, буду знать...

ps. слово legacy мне все больше и больше нравится только и только в названии моей машины :)


Игорь Шевченко   (2010-03-06 13:14:00) [2]

координаты окна не могут быть больше 32768 и меньше -32768, ограничение совместимости с 16-битными приложениями под Windows.


Вася   (2010-03-06 09:13:00) [3]

Вероятно, там используется двухбайтный тип (со знаком, естественно)


Наверх

Титульная страница Поиск, карта сайта Написать письмо