Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

как перерисовать только 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 вся ветка

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
2-1194871765
СержК
2007-11-12 15:49
2007.12.09
Есть ли для TreeView что-то вроде AfterScrol


15-1194738002
Kostafey
2007-11-11 02:40
2007.12.09
С днем рождения ! 11 ноября


15-1194334395
Jeer
2007-11-06 10:33
2007.12.09
Компилятор D7 учитывает платформу ?


2-1195214548
no3ep
2007-11-16 15:02
2007.12.09
printers


1-1190102028
Darvin
2007-09-18 11:53
2007.12.09
Посоветуйте, как реализовать