06. juni 2001 - 13:03Der er
6 kommentarer og 1 løsning
Hvordan får jeg længden på en kendt streng i Visual c++?
I mine strenge resurser har jeg en streng som jeg skal kende længden på... Jeg kender fonten og font størrelsen, men har på det tidspunkt hvor jeg skal kende længden af strengen, endnu ikke brugt den.
void main( void ) { char buffer[61] = \"How long am I?\"; int len; len = strlen( buffer ); printf( \"\'%s\' is %d characters long\\n\", buffer, len ); }
Det er ikke strenglængden i karaktere jeg skal bruge... (så havde fontstørelsen jo også være lige meget;))
men \"GetTextExtentPoint32\" virker som noget af det rigtige!
Du må have mig undskyldt hvis der er noget jeg har overset.. men er det jo sådan at dc´en jo ikke kan vide hvilken font jeg vil bruge til min streng når den skal skrives, som i øvrigt er mindre end originalt... Det virker som om den gør det rigtigt men på bagrund af en forkert font? Hvis du kan uddybe din forklaring om kring DC\'en lidt får du pointene...
dyrby>> Lad oos lige blive enige om et par ting : Du tegner din streng på en DC (Device Context). Inden du gør det sætter du font navn og størelse og alt det der, for din DC ....
Ergo ved din DC hvilken font du vil tegne med, fordi du lige har ænderet fonten ....
Hvis du skal vide noget mere om DC\'er skal du slå det op i din MSDN. Prøv nu koden i stedet for blot at afvise.
Så så du! jeg har prøvet koden... for det første: Jeg afviser jo ikke bare dit svar... men ville gerne have en lille uddybning før du får pointende som jeg jo havde lovet:(
For det andet: Jeg har ikke min DC før jeg skal bruge den.... ja det lyder lidt krybtisk men her er den specifikke forklaring:
Jeg har en toolbar hvor jeg skal have pladseret en checkbox... jeg ved godt at man kan ændre buttonstyle på en af de eksisterende knapper til checkbox. Men nu er det sådan at jeg gerne vil oprette cbutton opjektet selv! Derfor laver jeg en seperator i min toolbar som skal overskrives med min check box. Denne seperator skal have en bredde.. og det er den jeg skal have før jeg opretter min checkbox. Derfor har jeg ikke DC\'en for checkboxen på dette tidspunkt. Grunden til jeg ikke bare giver seperatoren en bredde på en given kendt størelse er at programmet ska oversættes til forskellige sprog og derfor har checkbox teksten en variable størrelse. Jeg opretter ikke checkboxen før toolbaren da jeg som indput til denne checkbox bruger et rect fået fra toolbaren i creationen...
Jeg er på ingen måde utilfreds med dit svar.. bare lidt i tvivl om hvordan det foregår... så jeg ville bare gerne have lidt uddybnig! så skal du nok få dine point! Jeg afviser ikke igen, siden det åbenbart er noget der kan forstås som en kritik... håber dog på et svar alligevel... Venligst Dyrby
borrisholt >> Jeg ved ikke om det er fordi du ikke vil svare nu du har fået dine point? eller du ikke forstår mit problem.. men siden jeg stadig ikke har fundet en løsning, vil jeg forsøge en forklaring mere:
Jeg har et sted i min toolbar hvor jeg skal lave plads til en Checkbox. Dette gør jeg før jeg har oprettet Checkboxen som objekt. Når jeg senere skal oprette checkboxen benytter jeg denne oprettede pladses rect til at kreere min checkbox. Checkboxen har en streng tilknyttet som jeg kender, jeg ved hvilken font jeg vil knytte til checkboxen når den skal oprettes...
Der er sandsynligvis noget jeg ikke ved omkring dette, og det er det jeg gerne vil vide... så hvis du siger at dette problem bliver indlysende hvis jeg sætter mig lidt mere ind i Device Context, så gør jeg det... men på nuværende tidspunkt kan jeg ikke se det løser mit problem...?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.