Re: Tutorial do gpi...

Autor: Przemyslaw Dobrowolski (dobrawka_at_asua.org.pl)
Data: Mon 24 Dec 2001 - 00:59:55 MET


On Sun, 23 Dec 2001 23:53:27 +0100 (MET), Lech Wiktor Piotrowski wrote:

>Rysuje sobie napis na wstepi. Chce, zeby przy size odswiezyl tylko kawalek napisyu
>tzn. jak zmniejsze okienko tak, ze zaslonie kawalek, a potem bardzo rozszerze, to nie
>odswiezy sie caly napis, tylko kawalek, a reszta pozostania... zamazana ;)
>probowalem wininvalidaterect na WM_SIZE, bez defniiowania WM_PAINT i niestety
nie
>to... Probowalem tez WinBeginPAint na okreslonym kwadracie w WM_PAINT i tez nie
>to...

Po pierwsze WM_SIZE nie jest komunikatem w którym jest rysowanie. W WM_SIZE
możesz wywołać funkcje WinInvalidateRect która wywoła WM_PAINT. Ale nie jest
zgodne ze sztuką malować w WM_SIZE.
Po pierwsze, jak ja bym to zrobił:
Użyłbym GpiQuryTextBox do dowiedzenia się jaki prostokąt zajmuje mi okno.
Oczywiście musiałbym wiedzieć, że prostokąt jest większy od okna.
Myślę (ale już późno), że jak zaczynałbym rysowanie to zapisałbym w jakiejś
strukturce (WinSetWindowUlong), jakieś parametry prostokąta, tzn wiedziałbym w
jakich proporcjach mam odświeżać. Dzięki temu wiedziałbym przy BeginPaint co
odświeżać.
Co więcej. Przyznam, że podjąłeś bardzo wysokie wyzwanie. Bez przyjrzenia się
źródłom nie migę nic powiedzieć, porócz tego, że zawsze miałem ochotę napisać coś
a'la RichEdit ale nigdy nie starczało mi chęci, chociaż na start. Trzymam kciuki.

---
*Przemek/2* - dobrawka_at_asua.org.pl - ICQ: 18642806
Asua Programmers http://www.asua.org.pl
TeamOS/2pl http://www.teamos2.org.pl
This OS/2 system uptime is 0d 4h 27m 40s 396ms (en).


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:34:10 MET DST