Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Изменить Z-порядок ваших контролов - Форум

  • Сторінка 1 з 1
  • 1
Изменить Z-порядок ваших контролов
ШайтанДата: Вівторок, 04.01.2011, 17:31 | Сообщение # 1



Шайтан
†HellWoW-Pristton†
Чемпион
Группа: Пользователи
Сообщений: 440

Замечания:

Оффлайн
{
Sometimes you want to change the order of your controls during runtime.
Usually you only can send them all the way to the front (Control.BringToFront) or
send them all the way back (Control.SendToBack).

The following procedure will help you moving a control just one position for or back.
This is especially useful when using vector graphis or similar applications.

The procedure takes the control to be moved as the first parameter.
The direction is the second parameter (True brings the control one step up,
False sends it one step back).

Internally, this procedure works with SendToBack and BringToFront too, however,
it creates an order list first and pushes the other controls as well.
}

procedure ChangeControlZOrder(Sender: TObject; MoveUp: Boolean = True);
var
I, Curr: Integer;
Control: TControl;
List: TList;
begin
if Sender is TControl then
begin
// only components of type TControl and descendends
// work
Control := Sender as TControl;
// has no parent, cannot move ;-)
if Control.Parent = nil then
// quit
Exit;
// determine position in z-order
Curr := -1;
for I := 0 to Pred(Control.Parent.ControlCount) do
if Control.Parent.Controls[I] = Sender then
begin
Curr := I;
Break;
end;
if Curr < 0 then
// position not found, quit
Exit;
List := TList.Create;
try
if MoveUp then
begin
for I := Curr + 2 to Pred(Control.Parent.ControlCount) do
// load other controls in group
List.Add(Control.Parent.Controls[I]);
Control.BringToFront;
for I := 0 to Pred(List.Count) do
// move other controls to front, too
TControl(List[I]).BringToFront;
end else begin
for I := 0 to Curr - 2 do
// load other controls in group
List.Add(Control.Parent.Controls[I]);
Control.SendToBack;
for I := Pred(List.Count) downto 0 do
// move other controls to back, too
TControl(List[I]).SendToBack;
end;
finally
List.Free;
end;
end;
end;



 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
[Гайд] - Ездовые животные · (Гайды по WoW)
Автор: Darkensand
Последнее сообщение в 12:59
▃ ▅ █ STRIKE-DEATH | WOTL... · (Обычные сервера WoW)
Автор: Pensukdeath
Последнее сообщение в 05:18
Уход и забота за воинами: прок... · (Воин)
Автор: UncontesteD
Последнее сообщение в 17:34
Очень хороший зароботок!!! · (Флудилка)
Автор: Hordcore
Последнее сообщение в 12:57
Основы Sql · (Sql)
Автор: No-One
Последнее сообщение в 01:45
Баг на 30к крита 5.4.8 · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:46
Баг на дамаг · (Баги WoW)
Автор: nikitadevil
Последнее сообщение в 18:44
Неуязвимость · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:43
Бесконечный сокет · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:42
Баг на ледянные баджи на uwow · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:31
Новейший баг на дамаг ханта · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 18:23
[БАГ] + к Урону для всех класс... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 18:22
Ретро паладин 4.3 · (Паладин)
Автор: Darkensand
Последнее сообщение в 02:05
Hellscream.ORG - Азиатский WoW... · (Обычные сервера WoW)
Автор: Alexstrasza007
Последнее сообщение в 10:30

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2026 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz