Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> уберечь содержимое PictureBox , От сворачивания и скроллбаров 
:(
    Опции темы
indio
Дата 16.11.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Есть PictureBox заполненный контентом.
Размеры изображения контента велики, размер PictureBox ограничен.
Используются элементы VScroll и HScroll для координации в окне

При использовании VScroll, HScroll рисунок Bmp загруженный в PictureBox на фоне просматривается, но занесенное содержимое на рисунке: линии, круги, точки - исчезают.

При сворачивании окна формы контент также исчезает, оставляя лишь загруженный bmp.

Не радует решение сохранения контента в файл при нажатии на сворачивание, а при случае скроллинга это ничего не решает.

Узнал что в Си возможно назначить класс и перенести в него изображение. 
Код

namespace WindowsApplication6
{
    public partial class Form1 : Form
    {
        Bitmap myBMP;
        Graphics g;       

        public Form1()
        {
            InitializeComponent();
        }
        

        private void button1_Click(object sender, EventArgs e)
        {

            myBMP = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            g = Graphics.FromImage(myBMP);
            Pen p=new Pen (Color.Red);
            g.DrawEllipse(p, 5, 5, 100, 50);
            pictureBox1.Image = myBMP;     

        }


скроллинг (Вер/ Гор)

Код

 Picture2.Picture = LoadPicture("c:/windows/óñòàíîâêà.bmp")
VScroll1.Enabled = True
HScroll1.Enabled = True
HScroll1.Min = 0
HScroll1.Max = ScaleX(Picture2.Picture.Width, 8, vbPixels) - Picture1.Width
HScroll1.LargeChange = 10 * Screen.TwipsPerPixelX
HScroll1.SmallChange = Screen.TwipsPerPixelX
VScroll1.Min = 0
VScroll1.Max = ScaleX(Picture2.Picture.Height, 8, vbPixels) - Picture1.Height
VScroll1.LargeChange = 10 * Screen.TwipsPerPixelY
VScroll1.SmallChange = Screen.TwipsPerPixelY
HScroll1_Change
End Sub
Private Sub HScroll1_Change()
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture2.Width, Picture2.Height, _
HScroll1.Value, VScroll1.Value, _
Picture2.Width, Picture2.Height
End Sub
Private Sub HScroll1_Scroll()
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture2.Width, Picture2.Height, _
HScroll1.Value, VScroll1.Value, _
Picture2.Width, Picture2.Height
End Sub



Private Sub VScroll1_Change()
HScroll1_Change
End Sub
Private Sub VScroll1_Scroll()
HScroll1_Scroll
End Sub

PM MAIL   Вверх
vbCrLf
Дата 18.11.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.5.2006
Где: Севастополь

Репутация: 1
Всего: 1



Предлагаю Установить в PictureBox параметр AutoRedraw = True.
PM MAIL ICQ   Вверх
BorisVorontsov
Дата 19.11.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 5
Всего: 10



Цитата(indio @  16.11.2008,  19:56 Найти цитируемый пост)
Узнал что в Си


Это ни разу не Си, это СиШарп.

По вопросу -- после завершения отрисовки делай так:
Код

Set Picture1.Picture = Picture1.Image



--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1114 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.