На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
  
> Flat ScrollBar , недоделка?
    я тут издеваюсь над скроллбарами tongue.gif
    вот код который делает скроллбар у TMemo плоским:
    //инициализация
    InitializeFlatSB(Memo1.Handle);
    FlatSB_SetScrollProp(Memo1.Handle,WSB_PROP_VSTYLE,FSB_FLAT_MODE,false);

    //а это при обработке события EN_VSCROLL от Memo1
    //а то без этого бегунок себя ненормально ведет
    var pos1,minpos,maxpos:integer;
        si:TScrollInfo;
    ...
    si.cbSize:=SizeOf(TScrollInfo);
    si.fMask:=SIF_ALL;
    GetScrollRange(Memo1.Handle,SB_VERT,minpos,maxpos);
    GetScrollInfo(Memo1.Handle,SB_VERT,si);
    pos1:=GetScrollPos(Memo1.Handle,SB_VERT);
    si.nPos:=si.nPos-10;
    FlatSB_SetScrollRange(Memo1.Handle,SB_VERT,minpos,maxpos,false);
    FlatSB_SetScrollInfo(Memo1.Handle,SB_VERT,si,false);
    FlatSB_SetScrollPos(Memo1.Handle,SB_VERT,pos1,true);

    все вроде хорошо, но остается один глюк - при перетягивании бегунка скролл дергается вверх-вниз и позиция бегунка и текста в мемо не всегда соответствуют друг-другу - хотя при скролле с пом. стрелок - все ок
    Если кто знает в чем тут дело - подскажите плз...

    зы: кстати с пом этого можно менять цвет скроллбара (фоновый) - так:
    InitializeFlatSB(Memo1.Handle);
    FlatSB_SetScrollProp(Memo1.Handle,WSB_PROP_VBKGCOLOR,rgb(0,255,0),false);



    Добавлено в
    чуть не забыл - надо еще uses CommCtrl;
      Что-то кажется, что VCL и API мало совместимы. Т.е. я думаю это глюк VCLя
        Цитата
        shurik247, 21.12.03, 11:07
        Что-то кажется, что VCL и API мало совместимы. Т.е. я думаю это глюк VCLя

        сумневаюсь - я то эту штуку у себя в АПИ-шной проге проверял - т.е. там не Memo1.Handle, а Memo:THandle создающийся через Memo:=CreateWindow('EDIT','',WS_CHILD or WS_VISIBLE or WS_VSCROLL or ES_MULTILINE or ES_AUTOVSCROLL,...) - так что ВЦЛ тут скорее всего непричем...
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0247 ]   [ 16 queries used ]   [ Generated: 27.04.24, 09:17 GMT ]