Форум: "Media";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Внизкак перерисовать только Image Найти похожие ветки
← →
avprohorov (2007-02-06 07:02) [0]Я пишу програмку нестандартной формы ( не прямоугольная)
на ней 12 регионов неправильной формы, они типа за кнопки.
сверху на регион кладу Image - иконку.
При отработки OnMouseMove через функцию ptinregion
перекрашиваю регионы в другие цвета при попадании в него мыши, а Image при этом становится невидимым. при попытке перерисовать Image.repaint перерисовывается вся форма, что не очень хорошо (мигает) при каждом движении мыши.
Как выйти из ситуации, чтоб и Image остался видимым и вся форма не перерисовывалась.
← →
@!!ex © (2007-02-06 10:16) [1]Использовать InvalidateRect, не импользовать TImage, использовать TBitMap, BitBlt. Решаться все проблемы.
← →
avprohorov (2007-02-06 11:56) [2]tbitmap вечером попробую хотя я вчера попытался в хелпе про него почитать, сложно все там как то
← →
@!!ex © (2007-02-06 13:41) [3]Все просто.
var
Back:TBitMap;
FormCreate;
Back:=TBitMap.Create; //сОздаем экземпляр
Back.Width:=Width;
Back.Height:=Height;
FormPaint:
//Draw
//Здесь на битмапе рисуешь все что душе угодно.
//Draw
BitBlt(Canvas.Handle,0,0,Width,Height,Back.Canvas.Handle,0,0,SRCCOPY);//Выводим изображение на форму
← →
avprohorov (2007-02-07 10:18) [4]@!!ex
Я не вижу как в bitmap положить картинку, которая в Timagelist лежит.
← →
@!!ex © (2007-02-07 12:38) [5]ImageList.Draw
← →
@!!ex © (2007-02-07 12:40) [6]Только для ээфективности Один битмап на всю форму и поэтому картинки из ImageList"a нужно класть в соответствующие координаты БитМапа, все это должно порисходить здесь:
> //Draw
> //Здесь на битмапе рисуешь все что душе угодно.
> //Draw
Кстати, перерисовку окна нужно вызывать так:
InvalidateRect(Handle, nil, false);
← →
avprohorov (2007-02-07 13:41) [7]вчера пробовал Tbitbtn, у него, как в прочем у TButton refresh не вызывает рефреш всей формы.
типа тож через invalidateRect делается и параметром координаты button-а?не хочется с битмапом заморачиватся
попробую всетаки Timage и перерисовку области InvalidateRect
← →
@!!ex © (2007-02-07 13:43) [8]"Не созрел, зря старались..." (C)комунизденно
Авось сам дозреешь, или порграммирование бросишь.
← →
avprohorov (2007-02-08 06:21) [9]попробовал tbitmap в принципе просто. (созрел)
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c