PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Właściwość AutoRedraw

Właściwość AutoRedraw ustawia lub zwraca wartość określającą sposób automatycznego odtwarzania grafiki stworzonej przez metody graficzne. Wykorzystywana jest, gdy stworzona przy pomocy tych metod grafika może zostać przesłonięta przez inne okno.

Składnia właściwości AutoRedraw:

obiekt.AutoRedraw [=boolean]

obiekt to obiekt który wykorzystuje właściwość AutoRedraw, dostępny na liście
boolean to wyrażenie typu Boolean określające sposób odtwarzania grafiki:
Wartość Opis
True Pozwala na automatyczne odtwarzanie obiektów formy lub kontrolki PictureBox. Grafika trwała i wprowadzony tekst ma ekran i do rysunków są przechowywane w pamięci. Obiekt nie otrzymuje zdarzenia Paint a w razie konieczności wykorzystywane jest obraz przechowywany w pamięci do odtwarzania grafiki.
False (Domyślny) Wyłącza automatyczne odtwarzanie grafiki. Visual Basic wywołuje zdarzenie Paint obiektu, jeżeli potrzebne jest jego przerysowanie.



Właściwość AutoRedraw pracuje z metodami graficznymi: Circle, Cls, Line, Point, Print, and PSet. Ustawienie właściwości AutoRedraw na True powoduje automatyczne odtworzenie grafiki stworzonej przy pomocy tych metod na obiekcie formy lub kontrolce PictureBox, np. po zmianie rozmiarów obiektu lub przy odtworzeniu obiektu, który był przysłonięty prze z inny obiekt.
Można zmieniać wartość właściwości AutoRedraw w fazie wykonywania, aby przełączać pomiędzy rysowaniem trwałej grafiki (jak tło lub siatka) a grafiką tymczasową. Jeżeli właściwość AutoRedraw ma wartość False to poprzednio stworzona grafika staje się częścią tła. Kiedy właściwość AutoRedraw jest ustawiona na False, to grafika "w tle" nie jest usuwana przy wykorzystaniu metody Cls do wyczyszczenia obszaru rysowania. Ustawienie właściwości AutoRedraw ponownie na True i użycie metody Cls spowoduje usunięcie grafiki "w tle".

Jeżeli ustawiona jest właściwość BackColor to cała grafika i tekst, włączając grafikę trwałą, zostanie usunięta. Ogólnie cała grafika może być wyświetlana z użyciem zdarzenia Paint o ile właściwość AutoRedraw nie jest ustawniona na True.
Aby odzyskać grafikę trwałą stworzoną podczas gdy właściwość AutoRedraw jest ustawiona na True, należy użyć właściwości Image. Aby przekazać grafikę trwałą do Windows API kiedy właściwość AutoRedraw jest ustawiona na True, należy użyć właściwości hDC obiektu.

Jeżeli właściwość AutoRedraw formy jest ustawiona na False, to po zminimalizowaniu jej, właściwości ScaleHeight i ScaleWidth zostają zmienione do rozmiarów ikony. Jeżeli właściwość AutoRedraw jest ustawiona na True, to ScaleHeight i ScaleWidth przechowują wartości rozmiarów odtwarzanego (przywracanego) okna.

Jeżeli właściwość AutoRedraw jest ustawiona na False, to metoda Print będzie rysować "na wierzchu" kontrolki graficznej (jak Image albo Shape.

Lista obiektów wykorzystujących właściwość AutoRedraw:
Form
PictureBox
PropertyPage
UserControl
UserDocument


Przykład użycia właściwości AutoRedraw:

Option Explicit

Private Sub Command1_Click()
   Picture1.AutoRedraw = Not (Picture1.AutoRedraw)
   Label1 = Picture1.AutoRedraw 'zmien autoredraw
End Sub

Private Sub Command2_Click()
   Picture1.Circle (50, 50), 30 'rysuj koło
End Sub

Private Sub Command3_Click()
   Dim I
   For I = 5 To 95 Step 10 'rysuj linie
      Picture1.Line (I, 0)-(I, 100)
   Next
End Sub

Private Sub Command4_Click()
   Picture1.Cls 'czysc obraz
End Sub

Private Sub Form_Load()
   Form1.Width = 5000
   Form1.Height = 5000 'ustaw rozmiary formy
   Picture1.Top = 100
   Picture1.Left = 100
   Picture1.Height = 3000
   Picture1.Width = 3000
   Picture1.ScaleHeight = 100
   Picture1.ScaleWidth = 100 'ustaw rozmiary obrazka
   Picture1.ForeColor = 0 'ustaw kolor
   Picture1.FillColor = QBColor(9) 'ustaw kolor wypelnienia
   Picture1.FillStyle = 0 'ustaw rodzaj wypelnienia
   Command1.Caption = "&Zmień AUTOREDRAW"
   Command1.Left = 100
   Command1.Top = 3500
   Command1.Width = 3000
   Command1.Height = 500 'ustaw parametry przycisku 1
   Command2.Caption = "&Koło"
   Command2.Left = 3500
   Command2.Top = 100
   Command2.Width = 1000
   Command2.Height = 500 'ustaw parametry przycisku 2
   Command3.Caption = "&Linie"
   Command3.Left = 3500
   Command3.Top = 1000
   Command3.Width = 1000
   Command3.Height = 500 'ustaw parametry przycisku 3
   Command4.Caption = "&Czyść"
   Command4.Left = 3500
   Command4.Top = 2000
   Command4.Width = 1000
   Command4.Height = 500 'ustaw parametry przycisku 4
   Label1.Left = 3500
   Label1.Top = 3500
   Label1.AutoSize = True
   Label1.Caption = Picture1.AutoRedraw
End Sub

Kontrolki CommandButton, Label, PictureBox, Form, właściwości: AutoSize, Caption, FillColor, FillStyle, ForeColor, Height, Left, ScaleHeight, ScaleWidth, Top, Width, metody: Circle, Cls, Line, operator Not, funkcja QBColor(), Zmienne i pętla For zostały opisane w innych częściach kursu.

Aby sprawdzić działanie przykładu należy na czystej formie utworzyć cztery obiekty typu CommandButton, jeden typu Label i jeden typu PictureBox pozostawiając ich domyślne nazwy, a następnie do okna kodu wprowadzić kod przykładu.

Przykład ten umieszcza na formie przyciski, etykietę i obraz. Jeden z przycisków powoduje narysowanie koła wewnątrz obrazu, drugi powoduje narysowanie linii, trzeci służy do czyszczenia obszaru rysunku, a czwarty powoduje zmianę właściwości AutoRedraw obrazu. Można zauważyć jak wartość właściwości AutoRedraw wpływa na sposób rysowania i czyszczenia obrazu. Jeżeli przy AutoRedraw ustawionym na True narysowane zostanie koło, a potem przy AutoRedraw=False narysowane zostaną linie, to użycie metody Cls obrazka (przy AutoRedraw=False) spowoduje wyczyszczenie linii, podczas gdy koło pozostanie w obrazie.




Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora