Mironas napisał(a):Jeśli chcesz rysować po całym przycisku przeczytaj poradę Rysowanie na obiektach nie posiadających Canvas.
Mironas napisał(a):Ale wtedy musisz przerysowywać wszystko w OnPaint formy (bo będzie nietrwałe).
Cyfrowy Baron napisał(a):Mironas napisał(a):Ale wtedy musisz przerysowywać wszystko w OnPaint formy (bo będzie nietrwałe).
To niestety nie rozwiązuje problemu, gdyż animacja buttona nie oznacza wywołania zdarzenia OnPaint dla formularza.
Mironas napisał(a):To trzeba dodatkowo przerysowywać przy OnClick i innych zdarzeniach przy których rysunek znika.
void __fastcall TPaintExt::OtworzClick(TObject *Sender)
{
if((licznik_okien < 5) && (OpenDialog->Execute()))
{
child[licznik_okien] = new TChild(this);
child[licznik_okien]->Parent = this;
child[licznik_okien]->Hint = IntToStr(licznik_okien);
child[licznik_okien]->Image->Picture->LoadFromFile(OpenDialog->FileName);
child[licznik_okien]->Caption = OpenDialog->FileName;
child[licznik_okien]->Top = 5;
child[licznik_okien]->Left = 5;
child[licznik_okien]->Width = child[licznik_okien]->Image->Width;
child[licznik_okien]->Height = child[licznik_okien]->Image->Height;
licznik_okien++;
}
else ShowMessage("Program umożliwia uruchomienie maksymalnie 5 okien");
}
void __fastcall TPaintExt::SpeedButton1Click(TObject *Sender)
{
child[i co tu wpisać]->Image->Canvas->Rectangle(10, 10, 100, 100);
}
child[PaintExt->ActiveMDIChild]->Image->Canvas->Rectangle(10, 10, 100, 100);
PaintExt->ActiveMDIChild->Image->Canvas->Rectangle(10, 10, 100, 100);
Powrót do Aplikacje multimedialne, graficzne
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości