Jak zrobić by label nie przesłaniała zmienna graficzna JPG

0

Problem mimo ze brzmi prozaicznie nie jest taki oczywisty (tak sie mi wydaje) Tworząc nowy komponent w oparciu o Panel, umieszczam na nim obiekt graficzny JPG, odswiezany co jekis czas Taimerem. Niestety przysłania on Label który ma wyswietlac paramtr fizyczny. Bring to Front nie działa. Ma ktos jakis pomysł? [???]

0

Maluj napis na bitmapie następnie odmalowuj na panelu i masz problem z głowy.

0

Jest to jakis pomysł, ale czy nie mozna tego zrobic prościej. Chodzi o to by obiekt graficzny JPG nie przysłaniał wyświetlanej wartości parametru w label?

0

Przecież to proste... Rysowanie tekstu to raptem jedna linijka, po co potrzebujesz do tego komponentu label?

0
kolola napisał(a)

Jest to jakis pomysł, ale czy nie mozna tego zrobic prościej. Chodzi o to by obiekt graficzny JPG nie przysłaniał wyświetlanej wartości parametru w label?

czekaj.. nie lapie... ze image masz na panelu i przyslania label, ktory jest na formie?
to uzyj StaticText czy jakos tak.

0

W kompanencie tworzona jest zmienna JPG i ladowana JPG2.LoadFromFile('C:\rys2.JPG');Nie jest ona umieszczona w Image. Nie jestem pewien czy mozna rys. text na jpg np StaticText, nie obsluguje tez cavanas wiec

Image1.Canvas.Brush.Style := bsClear;
Canvas.TextOut(2, 2, inttostr(1));

nie zadziała. Jesli mozna to jakos rozwiazac prosze o rade.

poza tym tekst rysoway na jpg musi być odswierzany w chwili zmiany wartosci zmiennej

0
kolola napisał(a)

W kompanencie tworzona jest zmienna JPG

albo jestem niedouczony albo Ty cos krecisz... ja nie lapie.

0

To jeszcze raz
Napisalem komponent który ma mozliwosci niezbedne dla mnie. Jedną z cech tego komponentu opracowanego o klase TPanel jest umieszczenie na nim obiektu graficznego JPG metodą
JPG := TJPEGImage.Create;
JPG.LoadFromFile('C:\rys2.JPG');
Canvas.Draw(0, 0, JPG);
Tą metodą umieszczone sa dwa obiektu graficzne które sie zmieniają dzieki zdazeniu MoseLive i MouseEnter
Na tym panelu umiesciłem takze obekty label, które wyswietlaja wyniki obliczeń dokonywanych wewnątrz komponentu.
Niestety obiekty graficzne przysłaniają Labele wyswietlające wyniki obliczeń. Czy jest na to rada?

Dzieki za zainteresowanie

0
kolola napisał(a)

To jeszcze raz
Napisalem komponent który ma mozliwosci niezbedne dla mnie. Jedną z cech tego komponentu opracowanego o klase TPanel jest umieszczenie na nim obiektu graficznego JPG metodą
JPG := TJPEGImage.Create;
JPG.LoadFromFile('C:\rys2.JPG');
Canvas.Draw(0, 0, JPG);
Tą metodą umieszczone sa dwa obiektu graficzne które sie zmieniają dzieki zdazeniu MoseLive i MouseEnter
Na tym panelu umiesciłem takze obekty label, które wyswietlaja wyniki obliczeń dokonywanych wewnątrz komponentu.
Niestety obiekty graficzne przysłaniają Labele wyswietlające wyniki obliczeń. Czy jest na to rada?

Dzieki za zainteresowanie

no czyli "przy malowaniu po panelu, zamalowywujesz takze label, lezacy na panelu"...
no to jesli juz sie tak upierasz przy tych labelach to dal (po malowaniu) Label1.Repaint;

poza tym... jesli zamiast tlabel uzyl byc TStaticText, to nie byl by on zamalowywany.

i uwazam ze duzo latwiej bedzie zrobic to zwyczajnym Canvas.TextOut();

0

@kolola
Co to jest MouseLive?

Poza tym ten kod który podałeś rysuje JPG na canvas formy czyli zwyczajnie każesz programowi zamalować tego labela i jeszcze się dziwisz, że go zamalowuje... paranoja.

0

Spróbuje i zobacze co bedzie
Dzieki za pomoc :-)

0

Dziekuje za pomoc. Działa zarówno Label1.Repaint; jak i Canvas.TextOut();

Zawsze lepiej spytac o droge bardziej doświadczonych :-)

0

a jeszcze lepiej pomyśleć i poszukać w google :F
;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1