Главная страница
    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.011 c
14-87046
gsu
2003-01-11 14:38
2003.01.27
Вопрос в догонку


1-86808
zolotov
2003-01-18 18:04
2003.01.27
Formula One


3-86714
anton2v
2003-01-09 17:46
2003.01.27
Работа с dbf альтернативой BDE


3-86713
anton2v
2003-01-09 16:27
2003.01.27
переход в TTable путем задания Table.RecNo


7-87177
Metallica
2002-07-29 20:31
2003.01.27
Как перехватить нажатие клавиш [Ctrl+Alt+Del], [Ctrl+Esc].





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