Marco,
>Columns, headers and pages cannot (visualy) be subclassed.
>Why is this and how should one deal with this?
>
Because that's how MS built it.
>Example: when a user clicks a page in a pageframe i want its caption to turn bold so the user can see he/she has seen the page.
>I now have 'This.FontBold=.T.' in the Click() of all the applications pages (about 70 pages total). Now the user decided he/she doesn't want the page's caption to turn bold but red. Now i have to change the code at 70 places! This cannot be the goal of OOP.
>
You can create a factory class for your pageframes. Your page class can be designed in PRG code with DEFINE CLASS and the pageframe class can add its pages at runtime through its Init using your page class.