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

Вниз

Как нарисовать в ScrollBox?   Найти похожие ветки 

 
Sodom   (2003-11-04 15:25) [0]

Здравствуйте. Из темы я думаю все ясно. У ScrollBox канвы нет и я писал что то типа

Windows.MoveToEx(_SB1.Handle, 2, 2,nil);
Windows.LineTo(_SB1.Handle, 20, 20);

но нифига. Может кто в курсе в чем косяк?


 
Amoeba   (2003-11-04 15:31) [1]

Положи на ScrollBox PaintBox (или можно Image, все зависит от конкретной задачи) и рисуй на нем сколько хочешь (если использовать PaintBox, то в обработчике события OnPaint).


 
ZEE   (2003-11-04 15:35) [2]

> Amoeba (04.11.03 15:31) [1]
PaintBox на ScrollBox ?
так PaintBox скроллироваться будет со всем содержимым ScrollBox, а если его при скролле возвравщать на место, то морганий не избежать...
так шо надо рисовать на чем-нить снаружи ScrollBox"а


 
Sodom   (2003-11-04 15:37) [3]


> Amoeba (04.11.03 15:31) [1]

Это ясно. Так сейчас. Но у ScrollBox"a неприятная особенность. Когда много в нем элементов, то их свойства Left и Top меняются при передвижении линеек прокрутки, и это очень неудобно. Я хочу попробовать рисовать прямо на нем.


 
Amoeba   (2003-11-04 15:41) [4]


> ZEE © (04.11.03 15:35) [2]
> > Amoeba (04.11.03 15:31) [1]
> PaintBox на ScrollBox ?
> так PaintBox скроллироваться будет со всем содержимым ScrollBox,
> а если его при скролле возвравщать на место, то морганий
> не избежать...
> так шо надо рисовать на чем-нить снаружи ScrollBox"а

Что-то недопонимаю. Ведь если используется ScrollBox, то он наверное нужен для скроллирования изобрашения на нем? А иначе на кого черта он здесь нужен.
Что касается мерцания, то поможет ScrollBox.DiubleBuffered := True


 
Amoeba   (2003-11-04 15:44) [5]


> Sodom © (04.11.03 15:37) [3]
>
> > Amoeba (04.11.03 15:31) [1]
>
> Это ясно. Так сейчас. Но у ScrollBox"a неприятная особенность.
> Когда много в нем элементов, то их свойства Left и Top меняются
> при передвижении линеек прокрутки, и это очень неудобно.
> Я хочу попробовать рисовать прямо на нем.

Это что получается: поместил на ScrollBox управляющие контролы и еще хочешь на нем рисовать? Оригинально! Не лучше ли подумать о более продуманном интерфейсе.


 
Sodom   (2003-11-04 15:55) [6]


> Amoeba (04.11.03 15:44) [5]

Нет, короче объясняю. Мне нужно сделать что то типа графа, который создается и редактируется пользователем. Узлы это какой нить компонент (не важно какой) например Panel. Эти панели по всякому соединяются ребрами в данном случае я просто положил Image и рисовал на нем отрезки. Проблемы начинаются когда таких панелей становится много и появляются линейки прокрутки и от их положения зависят как я уже выше писал Left и Top панелей. При этом требуется, чтобы панели можно было двигать в любой момент, соответственно будут перерисовываться линии. Поскольку Left и Top плавают, то возникают косяки с перерисовкой линий. Теперь я хочу попробовать рисовать напрямую.


 
ZEE   (2003-11-04 16:13) [7]

ZEE © (04.11.03 15:35) [2] отменить
Amoeba (04.11.03 15:41) [4] - правильное замечание - просто я недопонял вопрос...

>Sodom ©
а можт просто положить один Image (или PaintBox) на ScrollBox и рисуй на нем все что тебе нужно, а координаты так просто надо будет учитывать Position у вертикальной и горизонтальной полосы прокрутки ScrollBox"а...



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

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

Наверх





Память: 0.46 MB
Время: 0.028 c
1-41425
AlexDBases
2003-10-29 14:43
2003.11.13
Ссылка на статью про консоль....


1-41570
AndreyA
2003-10-27 11:05
2003.11.13
Qreport


1-41374
Alexey V
2003-10-30 14:03
2003.11.13
Не работает OpenDialog.InitialDir


14-41958
Vlad Oshin
2003-10-17 12:42
2003.11.13
А что, плохая шутка? - Продам презервативы


14-41986
}|{yk
2003-10-23 19:57
2003.11.13
Война отменяется!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский