IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Изменение координат элементов (winapi)
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Здравствуйте,
Вообщем, пробую писать на чистом АПИ в Делфи. (Предупреждая вопрос "Зачем?" - "Надо, хочу научиться"=) )
Создаю окно, добавляю на него несколько различных элементов 'listbox', 'edit' и пр.
Как сделать так, чтобы расположение этих элементов зависело от размеров окна, которое изменяется в процессе работы. Т.е. увеличил я окно направо и кнопки сдвинулись туда же, вместе с размерами 'listbox'a и т.п.
Уверен, что это все связано со структурой TRect и функцией GetClientRect. Но вот как их для этого использовать я понять не могу =(? Перепробовал различные варианты. Need help.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Не получается =(
Я попробовал, как во втором посте, только контрол был не 'Edit' а 'Listbox'
И другой вариант:

var
ListText:THandle;
Rect:TRECT;
...
WM_CREATE:
begin
ListText:=CreateWindow('LISTBOX',
nil,
WS_CHILD or WS_VISIBLE or LBS_STANDARD,
Rect.Left,
Rect.Bottom div 2,
Rect.Right,
Rect.Bottom,
hWnd, 0, hInstance, nil);

...
end;
WM_SIZE:
begin
GetClientRect(hWnd,Rect);
MoveWindow(ListText, Rect.Left,
Rect.Bottom div 2,
Rect.Right,
Rect.Bottom, true);
end;

Где я неправ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 18:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name