Refresh в picturebox`e

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Stas
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.05.2003 (Вт) 20:10

Refresh в picturebox`e

Сообщение Stas » 05.11.2003 (Ср) 21:24

В пикчабоксе после вызова Refresh пикселы нарисованные SetPixel`om исчезают а нарисованные PSet`om остаются.
Естли некий оналог Refresh`a в Win32 Api?
Если да то как его использовать и как он обявляется :?: :?: :?:
I'll give to you all what i know

Stas
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.05.2003 (Вт) 20:10

Сообщение Stas » 07.11.2003 (Пт) 20:43

Никто не знает???
:( :( :( :( :(
I'll give to you all what i know

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 08.11.2003 (Сб) 8:28

При любых изменениях вызывай SaveDC, а когда требуется обновить RestoreDC.
______________________________

Найдено в Win32APIViewer за 3 минуты. :D

Stas
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.05.2003 (Вт) 20:10

Сообщение Stas » 08.11.2003 (Сб) 11:55

Andll:
При любых изменениях вызывай SaveDC, а когда требуется обновить RestoreDC.


Это я ис ам знаю но при вызове SavePicture(picture.image,"C:\1.bmp)
В файл всеравно записуется содержимое этого пикча бокса без тех пикселей которые были нарисованы SetPixel`om.
Я даже пробовал копировать дс из одного пикчабокса в другой при помощи Bitblt но всеравно при сэйве ничего не изменяется.
:cry:
I'll give to you all what i know

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 08.11.2003 (Сб) 13:15

Код: Выделить всё
Public Declare Function SaveDC Lib "gdi32" Alias "SaveDC" (ByVal hdc As Long) As Long
Public Declare Function RestoreDC Lib "gdi32" Alias "RestoreDC" (ByVal hdc As Long, ByVal nSavedDC As Long) As Long


При чем тут SavePicture??? :D

Здесь содержимое DC сохраняется в оперативной памяти, а не на диске.
Кстати, проверь как там у нас свойство AutoRedraw пикчабокса.

Stas
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.05.2003 (Вт) 20:10

Сообщение Stas » 09.11.2003 (Вс) 12:24

Всё при том же мне надо рисунок сохранить на диск а не впамяти держать. А по поводу Авто Редрав ты его включи и СетПикселом нарисуй что нибудь. У меня ничего не рисуется!!! :evil:
I'll give to you all what i know

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 10.11.2003 (Пн) 7:33

Всё довольно просто, то что ты рисуешь на Пикчебоксе хранится в памяти, а точнее в свойстве Image
А для того чтобы содержимое Image оказалось в Picture нужно... ну подумай сам :wink:


Для тех кто не догодался:
Picture1.Picture=Picture1.Image

(И на всякий случай поставь AutoRedraw=True)
Теперь хоть рефреш, хоть SavePicture - всё будет пучком.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList