Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Вниз

Окна   Найти похожие ветки 

 
silenser   (2002-09-11 17:41) [0]

Кто подскажет как сделать склеиваемые окна, которые можно разносить и сцеплять в единое целое (как в Winampe)


 
Song   (2002-09-11 17:44) [1]

См. в справке dockable windows


 
silenser   (2002-09-12 13:52) [2]

Извени не понял в какой справке
ничего не нашел можно подробнее


 
Almaz   (2002-09-12 23:48) [3]


> Song © (11.09.02 17:44)
> См. в справке dockable windows

Dockable windows тут абсолютно не причем.


> silenser © (11.09.02 17:41)
> Кто подскажет как сделать склеиваемые окна, которые можно
> разносить и сцеплять в единое целое (как в Winampe)

Один из вариантов решения таков: вам необходимо обрабатывать сообщение WM_MOVE получаемое всеми вашими "липкими" окнами. В обрабочике анализируйте расстояние между текущим окном и другими формами и если оно меньше заданного, то "склеивайте" эти окна. Примерно так, хотя код и требует доработки:

type
TForm1 = class(TForm)
...
private
procedure WMMove(var Message: TWMMove); message WM_MOVE;
end;

...

const
Delta = 20;

procedure TForm1.WMMove(var Message: TWMMove);
var
I: Integer;
F: TForm;
begin
for I := 0 to Screen.FormCount - 1 do
begin
F := Screen.Forms[I];
if (F.Visible) and (F <> Self) then
begin
// Это сделает "липким" левый край формы
if (Abs(Left - F.Left - F.Width) < Delta) and
(Top > F.Top) and (Top < F.Top + F.Height) then
Left := F.Left + F.Width;
end;
end;
inherited;
end;


Удачи.


 
Nostradamus   (2002-09-13 02:03) [4]

Я вот юнит раз для себя написал, можешь посмотреть на
http://f-soft.km.ru/vcl_r.html

Там и пример есть.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
7-73901
soldat
2002-06-27 11:00
2002.09.23
фискальный регистратор


14-73877
Driverrr
2002-08-28 21:32
2002.09.23
Искусственный интеллект


1-73720
demisen
2002-09-11 12:43
2002.09.23
Как определить, является ли строка числом ?


1-73600
still
2002-09-12 10:35
2002.09.23
HTML Help Workshop


8-73770
Draculenok
2002-05-27 14:27
2002.09.23
как отобразить GIF???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский