Hallo,
ik probeer in VB een usercontrol te schrijven die als controlcontainer gaat dienen. Deze container heeft een captionproperty. De titel moet aan de linkerkant van de container komen, en dan vertikaal. Om de tekst vertikaal te krijgen gebruik ik CreateFontIndirect waaraan ik dan een LOGFONT meegeef. Het is dus de bedoeling dat de titel rechtsuitgelijnd wordt, wanneer die vertikaal staat, dus om verwarring te voorkomen:

Hierbij is het einde van de titel dus het 'begin'. Alleen nou kan de titel natuurlijk verschillende lengtes hebben qua String. Hiervoor moeten de coordinaten waar ik de CreateFontIndirect op af stuur veranderd worden. En dat is precies mijn probleem. Voor een horizontale String kan je de lengte berekenen met GetTextExtentPoint32, en eventueel de gemiddelde breedte van een character. Maar blijkbaar gaat dit voor vertikale zaken niet meer op.
Heeft er iemand een idee hoe ik dus de lengte van een vertikale string kan berekenen zodat ik de 'y' voor CreateFontIndirect daarop kan aanpassen en zo dus al naar gelang van de lengte van de titel deze over de y-as kan verschuiven?
Begrijp me niet verkeerd, ik vraag zeker geen kant en klare oplossingen. Ik ben meer geinteresseerd in ideeen en eventuele pointers in de goede richting.
ik probeer in VB een usercontrol te schrijven die als controlcontainer gaat dienen. Deze container heeft een captionproperty. De titel moet aan de linkerkant van de container komen, en dan vertikaal. Om de tekst vertikaal te krijgen gebruik ik CreateFontIndirect waaraan ik dan een LOGFONT meegeef. Het is dus de bedoeling dat de titel rechtsuitgelijnd wordt, wanneer die vertikaal staat, dus om verwarring te voorkomen:

Hierbij is het einde van de titel dus het 'begin'. Alleen nou kan de titel natuurlijk verschillende lengtes hebben qua String. Hiervoor moeten de coordinaten waar ik de CreateFontIndirect op af stuur veranderd worden. En dat is precies mijn probleem. Voor een horizontale String kan je de lengte berekenen met GetTextExtentPoint32, en eventueel de gemiddelde breedte van een character. Maar blijkbaar gaat dit voor vertikale zaken niet meer op.
Heeft er iemand een idee hoe ik dus de lengte van een vertikale string kan berekenen zodat ik de 'y' voor CreateFontIndirect daarop kan aanpassen en zo dus al naar gelang van de lengte van de titel deze over de y-as kan verschuiven?
Begrijp me niet verkeerd, ik vraag zeker geen kant en klare oplossingen. Ik ben meer geinteresseerd in ideeen en eventuele pointers in de goede richting.