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

Вниз

Работа с TScrollBox   Найти похожие ветки 

 
Th   (2003-01-16 20:11) [0]

Кто знает, как заставить TScrollBox, а точнее TScrollingWinControl НЕ СКРЫВАТЬ свои TControlScrollBar"ы когда нет нужды с скроллинге, а делать их предположим Disabled (а ля Photoshop)?


 
Th   (2003-01-17 13:39) [1]

Неужели никто этим вопросом не интересовался?? ;)


 
Delirium^.Tremens   (2003-01-17 13:52) [2]

ShowScrollBar()


 
Delirium^.Tremens   (2003-01-17 14:04) [3]

Нет, не помогает ShowScrollBar(), он (ScrollBox) его сразу отключает.


 
Игорь Шевченко   (2003-01-17 14:20) [4]

А что говорят исходные тексты ?


 
Th   (2003-01-17 14:59) [5]

Они говорят следующее: в TScrollingWinControl есть две функции
одна NeedScrollbarVisible определяет надо ли показывать Scrollbar и UpdateScrollBars по результатам работы NeedScrollBarVisible отображает (илбо скрывает) ScrollBar. Обе функции объявлены как private и естественно не virtual, что сами понимаете и обламывает все. Поэтому и задаю вопрос.


 
Th   (2003-01-17 15:04) [6]

Кстати для экспериментов с исходным кодом удобно включить компиляцию VCL при компиляции проекта - я когда-то в 3 делфи это делал, а как непомню. Подскажите, как это сделать?


 
Th   (2003-01-17 15:23) [7]

Так все-таки как VCL перекомпилировать??


 
Игорь Шевченко   (2003-01-17 15:24) [8]

Project|Options|Compiler|Use Debug DCU
+
Project|Options|Directories...
в Search Path добавить $(DELPHI)\Source\Vcl


 
Th   (2003-01-17 15:27) [9]

Большое спасибо, Игорь


 
Игорь Шевченко   (2003-01-17 15:47) [10]


> Обе функции объявлены как private и естественно не virtual,
> что сами понимаете и обламывает все.


Теперь понятно. Можно написать аналог, унаследовав его от TWinControl с требуемым поведением. Самый безопасный способ.


 
Th   (2003-01-17 17:08) [11]

Вот пришлось так и делать ;( и все из-за одной строки перед вызовом SetScrollInfo
в оригинале: ScrollInfo.fMask := SIF_ALL;
а мне надо: ScrollInfo.fMask := SIF_ALL or SIF_DISABLENOSCROLL;


 
Th   (2003-01-17 17:13) [12]

Еще небольшой вопрос:
Под Win9x у меня в программах работали ScrollBar"ы со стилем FLAT, а под WinXP они почему-то стали игнорировать свойство Style и отрисовываться всегда как REGULAR.
Единственное, что смог поэтому поводу в Delphi Help найти, это вот:
List views only support flat scroll bars if the system has version 472 or later of comctl32.dll.
Получается, что в XP эта библиотека имеет более ранюю версию, чем в 9x или я чего-то не понимаю. ;(


 
Игорь Шевченко   (2003-01-17 17:16) [13]

Th © (17.01.03 17:13)

В XP версия, естественно, более поздняя. Но рекомедую посмотреть, что говорится по поводу FlatScrollbars и WinXP в MSDN. В частности, про функции InitializeFlatSB и прочие...



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

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

Наверх





Память: 0.46 MB
Время: 0.01 c
8-86971
Drohen
2002-10-11 09:37
2003.01.27
Кодирование DivX


1-86914
Павел
2003-01-16 14:07
2003.01.27
Копирование строк


4-87230
plaha999
2002-12-10 15:49
2003.01.27
Обработка сообщений в HOOKке


6-87000
RGG
2002-11-27 13:29
2003.01.27
Помогите примером


1-86839
error 2k
2003-01-18 23:32
2003.01.27
Пауза в программе





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