Przekierowanie Canvas

dział ogólny

Przekierowanie Canvas

Nowy postprzez usermaw » czwartek, 21 kwietnia 2011, 21:08

Witam.
Czy można w jakiś sposób przekierować kontrolę klasy TCanvas na inną klasę, a nie tylko jej instancję? Z przykładu Barona, nie na Panel1, a całą klase TPanel, czyli wszystkie obiekty tej klasy, które są i ew, będą w przyszłości.

Pozdro
Avatar użytkownika
usermaw
Homos antropiczny
Homos antropiczny
 
Posty: 55
Dołączył(a): piątek, 2 stycznia 2009, 20:43
Podziękował : 2
Otrzymał podziękowań: 0
    Windows XPFirefox

Re: Przekierowanie Canvas

Nowy postprzez Cyfrowy Baron » piątek, 22 kwietnia 2011, 10:45

usermaw napisał(a):będą w przyszłości.


Absurd!!! Skąd program miałby wiedzieć co będzie w przyszłości.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Przekierowanie Canvas

Nowy postprzez polymorphism » piątek, 22 kwietnia 2011, 12:10

Szczerze mówiąc, czytam i nie wiem, o co chodzi :zawiedziony:
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Przekierowanie Canvas

Nowy postprzez Cyfrowy Baron » piątek, 22 kwietnia 2011, 12:18

Jak sądzę chodzi o to: Umieszczasz na formularzu obiekt Panel1, umieszczasz na nim inne obiekty, np. Memo1, Button1 itp. Potem w oparciu o ten Panel1 tworzysz sobie inny Panel, ale będący klonem Panel1, ze wszystkim co się na nim znajduje, czyli klonujesz. By było fajniej:

usermaw napisał(a):będą w przyszłości.


W gotowym programie użytkownik może umieszczać sobie coś na Panel1 i chodzi o to, że jak użytkownik już coś tam umieści, a potem będzie chciał wykonać klon tego panelu, to to co ona tam umieścił również się sklonuje.

:x
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Przekierowanie Canvas

Nowy postprzez polymorphism » piątek, 22 kwietnia 2011, 12:56

Czy ja wiem... w pewnym sensie jest to możliwe. Chyba że czegoś dalej nie rozumiem :)
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Przekierowanie Canvas

Nowy postprzez Cyfrowy Baron » piątek, 22 kwietnia 2011, 14:09

polymorphism napisał(a):w pewnym sensie jest to możliwe.


W pewnym sensie tak, czyli tworzysz dynamicznie kopie obiektu Panel1 (przykład), a potem sprawdzasz jakie obiekty znajdują się na Panel1 i je również tworzysz dynamicznie sprawdzając przy tym właściwości obiektów źródłowych i kopiując je na klony.

Autorowi wątku chodzi jednak (jak sądzę) o takie skopiowanie obiektu Panel1, które od razu skopiuje wszystkie znajdujące się na nim obiekty, bez konieczności dynamicznego ich tworzenia. Nie wiem tylko co co chodzi z tą klasą TCanvas.

Coś takiego mogłoby się udać, gdyby chodziło o cały formularz, ale nie bardzo wiem jak można by to zrobić tylko w odniesieniu do obiektu, gdyż po umieszczeniu na formularzu obiektu Panel1, mamy konkretny obiekt klasy TPanel i nie da się z tego wyciągnąć klasy TPanel1.

Przychodzi mi do głowy tylko rozwiązanie polegające na utworzeniu nowej klasy w oparciu o klasę TPanel i przypisanie jej obiektów innych klas. Wtedy tworząc obiekt w oparciu o taką klasę od razu powstawałyby na nim inne obiekty, coś jak TLabelEdit.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 8 gości