Tohle není přímo k tématu, ale jestli se takhle snažíš psát tu komponentu pro obarvování syntaxe, tak nevím, jestli RichTextBox je ideální model, ze kterého bys měl dědit. Dědičností spíš rozšiřuješ to, co třída umí, a přidáváš k ní věci, případně je trochu měníš. Rušit funkcionalitu něčeho děděním není příliš praktické. Vlastnost skrýt jít ani nemůže, to by pak popíralo dědičnost a polymorfismus. Nejlepší by fakt bylo asi začít tím, že si podědíš třídu Control, a naprosto všechno si budeš vykreslovat sám. Ta třída nebude umět o nic víc, než má, kódem si do ní vygeneruješ dva scrollBary podle nastavení nějaké vlastnosti a v Paintu budeš překreslovat to, co je aktuálně vidět. Jednotlivé řádky textu si můžeš pamatovat v nějakém List(Of String), dobře se do něj přidává a maže, atd. No a pak už zbývá jenom klikání, chytání kláves a reakce na ně, je toho hodně. Ještě jsem v .NETu viděl třídu TextBoxBase, nevím, co umí, ale možná by to byl lepší předek pro dědění, přeci jen psát si sám úplně všechno taky není nejlepší. Ale fakt nevím, co ta třída umí. Nebo si v ObjectBrowseru zjisti, z čeho dědí TextBox a co by se ti hodilo. Dědičností odebírat vlastnosti nejdou, můžeš je jenom skrýt pro design režim, ale to není dobrá cesta. Lepší je přidávat než ubírat.
|