Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: [VB 2008] tekst opdelen (print programma)  (gelezen 2871 keer)

0 leden en 1 gast bekijken dit topic.

Offline robeike

  • Lid
  • *
  • Berichten: 20
  • Geslacht: Man
[VB 2008] tekst opdelen (print programma)
« Gepost op: 27 december 2008, 20:39:41 »
dag allemaal, ik heb hier VB 2008 express editie en ben een programmatje aan het maken dat een op maat gemaakte dvd cover maakt.
Ik heb de cover al op het blad kunnen laten tekenen en de rugtekst al kunnen schrijven maar zit met het volgende probleem.

ik zou dus graag de filmtitel ook op de voorkant willen, alleen is deze niet zo breedt als de hoogte van de rug.
als je de tekst opgeeft zou deze gemeten moeten worden, als de tekst breder is dan de breedte van de voorkant dan moet deze in 2 gebroken worden en verdeeld worden over 2 regels.

wat ik anders van plan was is het volgende, op het event txtVoorkant_TextChanged laat ik de tekstbreedte bereken, als hij de limiet bereikt breng ik een msgbox boven die zegt dat de max breete is bereikt. nadien komt dan een 2de tekstbox boven voor de 2de regel.

Alleen is hier het probleem dat hij met behulp van txtVoorkant.TextLenght alleen het aantal karakters berekent. ik zou dus echt de exacte breedte willen hebben zoals ik kan bereken in printpage event.
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.graphics.measurestring(txtvoorkant.text, voorkantFont)


heeft iemand enig idee hoe ik dit makkelijk kan oplossen ? Indien je wenst wil ik wel men projectje uploaden, weet wel dat ik er al veel werk in gestoken heb dus als je ook intresse hebt hierin vraag het dan eerst es a.u.b. het zal uiteindelijk wel te vinden zijn op het internet hoor ;)
Gigabyte ga ep45 ds3, 4gig ram 1066mhz, 500W, 320G hdd, E8400, ATI radeon 4870, eset smart security.

Offline robeike

  • Lid
  • *
  • Berichten: 20
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #1 Gepost op: 28 december 2008, 17:09:03 »
Ok ik ben er dus in geslaagd om de tekst te laten teruglopen. Alleen vraag ik mij nu af hoe ik deze tekst kan centreren. ik heb al vast men projectje ge-upload.
Gigabyte ga ep45 ds3, 4gig ram 1066mhz, 500W, 320G hdd, E8400, ATI radeon 4870, eset smart security.

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #2 Gepost op: 29 december 2008, 09:48:11 »
De juiste fysieke lengte van je tekst zal steeds moeilijk zijn. De meeste lettertypes zijn proportioneel. Een m neemt dan meer plaats in dan een n of een i. Wil je dit vermijden, zal je een monospaced type moeten nemen. Ik denk niet dat dit is wat je wil.
Gewoon berekenen is dus niet zo eenvoudig. txt.lenght() geeft inderdaad alleen het aantal karakters van je string weer.

Het eenvoudigste om te centreren denk ik dat je centreert in de tekstbox en dat je dan deze tekstbox mooi in het midden plaatst. Het moeilijkste wordt je zo uit handen genomen door de tekstbox.

Heel mooi dat je er je werk in steekt. Ik denk dat er voor de modale burger echter voldoende betaalbare programma's bestaan die net hetzelfde doen. Onder andere van Easy Computing.

Offline robeike

  • Lid
  • *
  • Berichten: 20
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #3 Gepost op: 30 december 2008, 17:12:35 »
bedankt voor de reactie
ik zie dat dit blijkbaar dus niet zo gemakkelijk zal zijn. Maar ik ben voor een tussenweg gegaan. Ik ben er wel niet tevreden mee (dat ben ik nooit  ;) )maar het gaat hier toch even boven men petje. Vooral over het begrip "monospaced type". Een textbox nemen en dan automatisch laten centreren is gemakkelijk. Alleen die textbox gecentreerd op die pagina krijgen is een ander verhaal. Maar je kan dus automatisch in een textbox je tekst laten teruglopen (wordwrapping hete dat denk ik)

maar ik ga het denk ik even laten rusten en gewoon nog wat verder leren. Ik zal er ooit wel uitkomen  8)

ik heb nu gewoon 2 textvakken genomen en daar geef je dan de titel op. als je in het afdrukvoorbeeld zit dat het buiten de marges komt kap je een stuk van de text uit het eerste textvak af en zet je deze in het 2de textvak. daarna klik je op print en voila een covertje  ;D
Gigabyte ga ep45 ds3, 4gig ram 1066mhz, 500W, 320G hdd, E8400, ATI radeon 4870, eset smart security.

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #4 Gepost op: 01 januari 2009, 12:19:46 »
1) Een monospaced type is een lettertype dat voor elk karakter even veel plaats inneemt. Monospac821 BT en Monotxt zijn er voorbeelden van. De meeste andere lettertypes zijn proportioneel. Elke letter neemt dan zoveel plaats in op een regel als nodig. Een m dus meer dan een i.
2) Het centreren van de tekstbox. Hoe doe je dit? Vraag de breedte van de tekstbox op (btext) en je kent de breedte van je blad (bblad). Als je nu (bblad-btext)/2 neemt, weet je de x van je teksttbox. Geef deze parameter nu aan je tekstbox en deze verplaatst zich naar het midden. Resolutie +- 1px. Ook in de y as kan je dit toepassen.

Offline robeike

  • Lid
  • *
  • Berichten: 20
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #5 Gepost op: 02 januari 2009, 19:23:39 »
2) Het centreren van de tekstbox. Hoe doe je dit? Vraag de breedte van de tekstbox op (btext) en je kent de breedte van je blad (bblad). Als je nu (bblad-btext)/2 neemt, weet je de x van je teksttbox. Geef deze parameter nu aan je tekstbox en deze verplaatst zich naar het midden. Resolutie +- 1px. Ook in de y as kan je dit toepassen.

ja centreren kan ik, dit heb ik al gedaan met men 2 textvakken die nu als huidige oplossing dienen. Maar waar ik eigenlijk op neer wou komen was eigenlijk het volgende. als je text wilt laten printen doe je gewoon drawstring("de tekst",x,y). Om deze tekstbox dan te printen wat dan eigenlijk een object is kan je toch niet zeggen van drawstring("de tekst,x,y) of heb je ook zoiets als drawObject ? Ik kan nu niet kijken of het bestaat want met deze feestdagen is het heel druk. Maar alvast bedankt, zal er even voor uitkijken.
Gigabyte ga ep45 ds3, 4gig ram 1066mhz, 500W, 320G hdd, E8400, ATI radeon 4870, eset smart security.

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: [VB 2008] tekst opdelen (print programma)
« Reactie #6 Gepost op: 03 januari 2009, 09:48:59 »
Je hebt een punt. Dat heb ik over het hoofd gezien.

 


www.combell.com