/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Hjælp til noget halv avanceret makværk
Fra : Moe


Dato : 03-07-01 21:49

Hej nu håber jeg at der er nogen der kan hjælpe mig.
jeg åbner en fil med f.eks en linje hvor der står:
"Drengen gik ned til «købmanden», for at købe et «franksbrød»"
Så er det at jeg skal have lavet noget ved denne linje den i denne linje
lave 2 label og 2 textboxe
så at det bliver sådan her:
"Drengen gik ned til «købmanden», for at købe et «franksbrød»"
^ ^ ^ ^
^
|------label----------|---textbox----|----label-------|--Textbox---|
Altså at der først kommer en label hvor der står "Drengen gik ned til "
og så en textbox
og så en label mere hvor der står ", for at købe et "
og så en textbox
Og det skal være sådan at man kan lave sine egne tekstlinjer altså en ny
linje med f.eks
"Der var engang en mand som skulle købe noget «hudcreme», for manden havde
tør «hud» og «skæl»
så der nu er 3 labels og 3 textboxe

Jeg kan godt få lavet det med textboxe men det med labelen halter lidt

Håber der er nogen der kan hjælpe.
--
Mvh. Martin
martin.molle@get2net.dk
Flower: 85683174



 
 
Tomas Christiansen (04-07-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 04-07-01 21:34

Moe skrev:
> Og det skal være sådan at man kan lave sine egne tekstlinjer altså en ny
> linje med f.eks
> "Der var engang en mand som skulle købe noget «hudcreme», for manden havde
> tør «hud» og «skæl»
> så der nu er 3 labels og 3 textboxe
>
> Jeg kan godt få lavet det med textboxe men det med labelen halter lidt

Så vidt jeg kan se ud af det, som du skriver, er der ingen forskel på
hvordan du håndterer labels og textboxe.

Hvis du kan håndtere textboxe, hvorfor så ikke labels?
Hvori berstår det problem?

Jeg går ud fra at du sætter index på dine textboxe og labels, og opretter
dem dynamisk (ved at bruge Load xxx). Det kan man både med textboxe og med
labels. De skal så derefter placeres de rigtige steder i forhold til
hinanden og gøres brugbare (så vidt jeg husker er de disablet som standard
efter Load xxx).

-------
Tomas



Moe (06-07-2001)
Kommentar
Fra : Moe


Dato : 06-07-01 21:07

Ja jeg vil gerne brúge load xxx og jeg skal bruge textboxe så jeg kan skrive
det ord som står i «» Hvor bredden bliver taget efter antal af karaktere i
mellem «»
Men Ja, Sådan som du går ud fra, men det eneste jeg kan er det med label
det er ikke så svært.
Men det er nok også på grund af at jeg ikke kan det der med LBound og Ubound

Mvh. Martin

"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:_8L07.474$hP2.17709@news.get2net.dk...
> Moe skrev:
> > Og det skal være sådan at man kan lave sine egne tekstlinjer altså en ny
> > linje med f.eks
> > "Der var engang en mand som skulle købe noget «hudcreme», for manden
havde
> > tør «hud» og «skæl»
> > så der nu er 3 labels og 3 textboxe
> >
> > Jeg kan godt få lavet det med textboxe men det med labelen halter lidt
>
> Så vidt jeg kan se ud af det, som du skriver, er der ingen forskel på
> hvordan du håndterer labels og textboxe.
>
> Hvis du kan håndtere textboxe, hvorfor så ikke labels?
> Hvori berstår det problem?
>
> Jeg går ud fra at du sætter index på dine textboxe og labels, og opretter
> dem dynamisk (ved at bruge Load xxx). Det kan man både med textboxe og med
> labels. De skal så derefter placeres de rigtige steder i forhold til
> hinanden og gøres brugbare (så vidt jeg husker er de disablet som standard
> efter Load xxx).
>
> -------
> Tomas
>
>



Tomas Christiansen (06-07-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 06-07-01 23:04

Martin/Moe skrev både:
> Jeg kan godt få lavet det med textboxe men det med labelen halter lidt

og

> Men Ja, Sådan som du går ud fra, men det eneste jeg kan er det med label
> det er ikke så svært.

Okay? Ja, nu er jeg da ihvertfald blevet forvirret...


> Men det er nok også på grund af at jeg ikke kan det der med LBound og
Ubound

Se DET kan vi jo gøre noget ved!

Det, som jeg plejer at gøre, når jeg skal arbejde med dynamiske kontroller
er:

1. Opret én af hver slags (dvs. i dit tilfælde én textbox - lad os kalde den
txtInput - og én label - lad os kalde den lblTekst).
2. Sæt den rigtige højde og bredde (hvis muligt).
3. Sætte index til 0.
4. Sætte visible til false.
5. Placer dem et sted hvor de ikke er i vejen (da de er usynlige har det
ikke særlig stor betydning).

Når jeg så har brug for en ny kontrol, f.eks. en textbox, bruger jeg f.eks.
følgende kode:

Load txtInput(txtInput.UBound + 1)
With txtInput(txtInput.UBound)
.Left = 123
.Top = 456
.Width = 789
.Text = "Dette er en test"
.Visible = True
End With

Nøjagtig det samme gælder for labels, bortset fra at du ikke skal tildele
tekst til egenkaben text, men i stedet til caption (dvs. .Caption = "Dette
er også en test").

Hvis du ønsker at beregne hvor bred en textbox skal være, for at kunne vise
en given tekst, kan man f.eks. bruge:

Dim sTekst As String
sTekst = "hej med dig"
.Width = Me.TextWidth(sTekst) + 90
.Text = sTekst

Dette kræver dog for at virke at formes font-indstillinger og textboxens
font-indstillinger er sat helt ens op, idet Me.TextWidth jo refererer til
formen og ikke textboxen.

Bemærk også at man på labels har mulighed for at sætte autosize til true,
hvorved labelen selv sørger for at gøre sig bred nok til netop at kunne vise
dens indhold.

Håber det bragte lidt lys over sagen.

-------
Tomas



Moe (07-07-2001)
Kommentar
Fra : Moe


Dato : 07-07-01 21:28

Jeg har fået det til at virke næsten 100%, men nu har jeg et nyt problem.
Det hele skal arrangeres når formen formindskes. Det har jeg overhovedet
ingen ide om hvordan man kan gribe det an. For det skal jo komme i rigtig
rækkefølge
Så jeg vil høre om du/eller andre vil kigge på min form og se hvordan det
kan ordnes.

Mvh. Martin

"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:eBq17.238$jq4.16146@news.get2net.dk...
> Martin/Moe skrev både:
> > Jeg kan godt få lavet det med textboxe men det med labelen halter lidt
>
> og
>
> > Men Ja, Sådan som du går ud fra, men det eneste jeg kan er det med
label
> > det er ikke så svært.
>
> Okay? Ja, nu er jeg da ihvertfald blevet forvirret...
>
>
> > Men det er nok også på grund af at jeg ikke kan det der med LBound og
> Ubound
>
> Se DET kan vi jo gøre noget ved!
>
> Det, som jeg plejer at gøre, når jeg skal arbejde med dynamiske kontroller
> er:
>
> 1. Opret én af hver slags (dvs. i dit tilfælde én textbox - lad os kalde
den
> txtInput - og én label - lad os kalde den lblTekst).
> 2. Sæt den rigtige højde og bredde (hvis muligt).
> 3. Sætte index til 0.
> 4. Sætte visible til false.
> 5. Placer dem et sted hvor de ikke er i vejen (da de er usynlige har det
> ikke særlig stor betydning).
>
> Når jeg så har brug for en ny kontrol, f.eks. en textbox, bruger jeg
f.eks.
> følgende kode:
>
> Load txtInput(txtInput.UBound + 1)
> With txtInput(txtInput.UBound)
> .Left = 123
> .Top = 456
> .Width = 789
> .Text = "Dette er en test"
> .Visible = True
> End With
>
> Nøjagtig det samme gælder for labels, bortset fra at du ikke skal tildele
> tekst til egenkaben text, men i stedet til caption (dvs. .Caption = "Dette
> er også en test").
>
> Hvis du ønsker at beregne hvor bred en textbox skal være, for at kunne
vise
> en given tekst, kan man f.eks. bruge:
>
> Dim sTekst As String
> sTekst = "hej med dig"
> .Width = Me.TextWidth(sTekst) + 90
> .Text = sTekst
>
> Dette kræver dog for at virke at formes font-indstillinger og textboxens
> font-indstillinger er sat helt ens op, idet Me.TextWidth jo refererer til
> formen og ikke textboxen.
>
> Bemærk også at man på labels har mulighed for at sætte autosize til true,
> hvorved labelen selv sørger for at gøre sig bred nok til netop at kunne
vise
> dens indhold.
>
> Håber det bragte lidt lys over sagen.
>
> -------
> Tomas
>
>


begin 666 Form1.frm
M5D524TE/3B U+C P#0I"96=I;B!60BY&;W)M(&9R;51E<W0@#0H@("!#87!T
M:6]N(" @(" @(" @/2 @(")&;W)M,2(-"B @($-L:65N=$AE:6=H=" @(" ]
M(" @-C(U-0T*(" @0VQI96YT3&5F=" @(" @(#T@(" V, T*(" @0VQI96YT
M5&]P(" @(" @(#T@(" S-#4-"B @($-L:65N=%=I9'1H(" @(" ](" @.# X
M-0T*(" @3&EN:U1O<&EC(" @(" @(#T@(" B1F]R;3$B#0H@("!38V%L94AE
M:6=H=" @(" @/2 @(#8R-34-"B @(%-C86QE5VED=&@@(" @(" ](" @.# X
M-0T*(" @4W1A<G15<%!O<VET:6]N(#T@(" S(" G5VEN9&]W<R!$969A=6QT
M#0H@("!"96=I;B!60BY0:6-T=7)E0F]X(%!I8W1U<F4Q( T*(" @(" @2&5I
M9VAT(" @(" @(" @(#T@(" T.3(P#0H@(" @("!,969T(" @(" @(" @(" @
M/2 @(#$S-0T*(" @(" @4V-A;&5(96EG:'0@(" @(#T@(" T.#8P#0H@(" @
M("!38V%L95=I9'1H(" @(" @/2 @(#<W-34-"B @(" @(%1A8DEN9&5X(" @
M(" @(" ](" @,0T*(" @(" @5&]P(" @(" @(" @(" @(#T@(" T.34-"B @
M(" @(%=I9'1H(" @(" @(" @(" ](" @-S@Q-0T*(" @(" @0F5G:6X@5D(N
M5&5X=$)O>"!T>'1/<F0@#0H@(" @(" @("!!<'!E87)A;F-E(" @(" @/2 @
M(# @("=&;&%T#0H@(" @(" @("!(96EG:'0@(" @(" @(" @/2 @(#(U-0T*
M(" @(" @(" @26YD97@@(" @(" @(" @(#T@(" P#0H@(" @(" @("!,969T
M(" @(" @(" @(" @/2 @(# -"B @(" @(" @(%1A8DEN9&5X(" @(" @(" ]
M(" @,@T*(" @(" @(" @5&]P(" @(" @(" @(" @(#T@(" P#0H@(" @(" @
M("!6:7-I8FQE(" @(" @(" @/2 @(# @(" G1F%L<V4-"B @(" @(" @(%=I
M9'1H(" @(" @(" @(" ](" @,S<U#0H@(" @("!%;F0-"B @(" @($)E9VEN
M(%9"+DQA8F5L(&QB;%1E>'0@#0H@(" @(" @("!!<'!E87)A;F-E(" @(" @
M/2 @(# @("=&;&%T#0H@(" @(" @("!"86-K0V]L;W(@(" @(" @/2 @("9(
M.# P,# P,#4F#0H@(" @(" @("!&;W)E0V]L;W(@(" @(" @/2 @("9(.# P
M,# P,#@F#0H@(" @(" @("!(96EG:'0@(" @(" @(" @/2 @(#(U-0T*(" @
M(" @(" @26YD97@@(" @(" @(" @(#T@(" P#0H@(" @(" @("!,969T(" @
M(" @(" @(" @/2 @(#,R-34-"B @(" @(" @(%1A8DEN9&5X(" @(" @(" ]
M(" @,PT*(" @(" @(" @5&]P(" @(" @(" @(" @(#T@(" Q,S4-"B @(" @
M(" @(%9I<VEB;&4@(" @(" @(" ](" @," @("=&86QS90T*(" @(" @(" @
M5VED=&@@(" @(" @(" @(#T@(" S.#4U#0H@(" @("!%;F0-"B @($5N9 T*
M(" @0F5G:6X@5D(N3&%B96P@3&%B96PR( T*(" @(" @0V%P=&EO;B @(" @
M(" @(#T@(" B3&%B96PR(@T*(" @(" @2&5I9VAT(" @(" @(" @(#T@(" R
M-34-"B @(" @($QE9G0@(" @(" @(" @(" ](" @, T*(" @(" @5&%B26YD
M97@@(" @(" @(#T@(" P#0H@(" @("!4;W @(" @(" @(" @(" @/2 @(#$U
M#0H@(" @("!7:61T:" @(" @(" @(" @/2 @(#@Q-C -"B @($5N9 T*16YD
M#0I!='1R:6)U=&4@5D)?3F%M92 ](")F<FU497-T(@T*071T<FEB=71E(%9"
M7T=L;V)A;$YA;653<&%C92 ]($9A;'-E#0I!='1R:6)U=&4@5D)?0W)E871A
M8FQE(#T@1F%L<V4-"D%T=')I8G5T92!60E]0<F5D96-L87)E9$ED(#T@5')U
M90T*071T<FEB=71E(%9"7T5X<&]S960@/2!&86QS90T*0V]N<W0@='AT5&5X
M="!!<R!3=')I;F<@/2 BNTUA<G1I;B!E<B!E;B"K1FQA<VME9')E;F>[+"!S
MY2!H86X@<VMA;"!S86UL92!F;&%S:V5R('-A;6UE;B!I(*MK87-S97*[(@T*
M0V]N<W0@8VAA<E]T>'1?=VED=&@@/2 Y, T*0V]N<W0@8VAA<E]L8FQ?=VED
M=&@@/2 W, T*1&EM(&)O>&4@07,@26YT96=E<@T*1&EM(&QA8F5L($%S($EN
M=&5G97(-"E!R:79A=&4@4W5B($9O<FU?3&]A9"@I#0H@(" @3&%B96PR+D-A
M<'1I;VX@/2!T>'1497AT#0H@(" @0V%L;"!N>65?=&5X=&)O>&4-"B @("!#
M86QL(&YY95],86)E;',-"B @("!-92Y#87!T:6]N(#T@(E1E>'1B;WAE(#T@
M(B F('1X=$]R9"Y#;W5N=" M(#$@)B B('P@3&%B96QS(#T@(B F(&QB;%1E
M>'0N0V]U;G0@+2 Q#0I%;F0@4W5B#0I0=6)L:6,@4W5B(&YY95],86)E;',H
M*0T*;&%B96P@/2 P#0IC:&%R7V%N=&%L(#T@3&5N*'1X=%1E>'0I#0I&;W(@
M0R ](#$@5&\@8VAA<E]A;G1A; T*(" @(%1E;7!!(#T@36ED*'1X=%1E>'0L
M($,L(#$I#0H@(" @(" @($EF(%1E;7!!(#T@(KLB(%1H96X-"B @(" @(" @
M(" @("<M+2TM+2TM+2TM#0H@(" @(" @(" @("!L86)E;" ](&QA8F5L("L@
M,0T*(" @(" @(" @(" @3&]A9"!L8FQ497AT*&QA8F5L*0T*(" @(" @(" -
M"B @(" @(" @(" @(&EN=%-T87)T02 ](#$-"B @(" @(" @(" @($9O<B!$
M(#T@0R!4;R!C:&%R7V%N=&%L#0H@(" @(" @(" @(" @(" @36]E02 ]($UI
M9"AT>'1497AT+"!$("L@,2P@,2D-"B @(" @(" @(" @(" @("!)9B!-;V5!
M(#T@(JLB(%1H96X-"B @(" @(" @(" @(" @(" @(" @17AI="!&;W(-"B @
M(" @(" @(" @(" @("!%;'-E#0H@(" @(" @(" @(" @(" @(" @(&QB;%1E
M>'0H;&%B96PI+D-A<'1I;VX@/2!L8FQ497AT*&QA8F5L*2Y#87!T:6]N("8@
M36]E00T*(" @(" @(" @(" @(" @($5N9"!)9@T*(" @(" @(" @(" @(" @
M(" @("!L8FQ497AT*&QA8F5L*2Y7:61T:" ]($QE;BAL8FQ497AT*&QA8F5L
M*2D@*B!C:&%R7VQB;%]W:61T: T*(" @(" @(" @(" @(" @(" @("!L8FQ4
M97AT*&QA8F5L*2Y4;W @/2!L8FQ497AT*&QA8F5L("T@,2DN5&]P("L@;&)L
M5&5X="AL86)E;" M(#$I+DAE:6=H=" K(#$R, T*(" @(" @(" @(" @(" @
M(" @("!L8FQ497AT*&QA8F5L*2Y6:7-I8FQE(#T@5')U90T*(" @(" @(" @
M(" @($YE>'0-"B @(" @(" @16YD($EF#0I.97AT#0I%;F0@4W5B#0H-"E!U
M8FQI8R!3=6(@;GEE7W1E>'1B;WAE*"D-"F)O>&4@/2 P#0IC:&%R7V%N=&%L
M(#T@3&5N*'1X=%1E>'0I#0I&;W(@22 ](#$@5&\@8VAA<E]A;G1A; T*(" @
M(%1E;7 @/2!-:60H='AT5&5X="P@22P@,2D-"B @(" @(" @268@5&5M<" ]
M("*K(B!4:&5N#0H@(" @(" @(" @("!I;G13=&%R=" ](#$-"B @(" @(" @
M(" @($9O<B!A(#T@22!4;R!C:&%R7V%N=&%L#0H@(" @(" @(" @(" @(" @
M;6]E(#T@36ED*'1X=%1E>'0L(&$L(#$I#0H@(" @(" @(" @(" @(" @268@
M;6]E(#T@(KLB(%1H96X-"B @(" @(" @(" @(" @(" @(" @8F]G<W1A=F5R
M(#T@:6YT4W1A<G0@+2 R#0H@(" @(" @(" @(" @(" @(" @('1E>'1B;W@@
M*&)O9W-T879E<BD-"B @(" @(" @(" @(" @(" @(" @17AI="!&;W(-"B @
M(" @(" @(" @(" @("!%;'-E#0H@(" @(" @(" @(" @(" @(" @(&EN=%-T
M87)T(#T@:6YT4W1A<G0@*R Q#0H@(" @(" @(" @(" @(" @16YD($EF#0H@
M(" @(" @(" @(" @3F5X= T*(" @(" @("!%;F0@268-"DYE>'0-"D5N9"!3
M=6(-"@T*4'5B;&EC(%-U8B!T97AT8F]X*&)O9W-T879E<BD-"B @("!B;WAE
M(#T@*&)O>&4@*R Q*0T*(" @($QO860@='AT3W)D*&)O>&4I#0H@(" @='AT
M3W)D*&)O>&4I+E=I9'1H(#T@8F]G<W1A=F5R("H@8VAA<E]T>'1?=VED=&@-
M"B @("!T>'1/<F0H8F]X92DN5&]P(#T@='AT3W)D*&)O>&4@+2 Q*2Y4;W @
M*R!T>'1/<F0H8F]X92 M(#$I+DAE:6=H=" K(#$R, T*(" @('1X=$]R9"AB
>;WAE*2Y6:7-I8FQE(#T@5')U90T*16YD(%-U8@T*
`
end


Tomas Christiansen (07-07-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 07-07-01 22:53

Moe skrev:
> Det hele skal arrangeres når formen formindskes. Det har jeg overhovedet
> ingen ide om hvordan man kan gribe det an. For det skal jo komme i rigtig
> rækkefølge

Jamen, hvorfor så overhovedet have muligheden for at ændre på formens
størrelse?

....ellers er der mig bekendt to gangbare veje:

1. Køb (eller find en gratis) komponent, som er i stand til at resize forms.
2. Gå i gang med at finde på nogle regler for hvordan, du ønsker at
kontrollerne skal stå i forhold til hinanden, og implementer dem i
Form_Resize event-proceduren.

> Så jeg vil høre om du/eller andre vil kigge på min form og se hvordan det
> kan ordnes.

Hmm. Jeg har kigget lidt på din kode.
En del af den er godt nok noget unødig kompliceret, men det kommer med
erfaringen. Når du ser på det igen om 6 måneder, er der nok mange ting, som
du vil gøre anderledes.

Én ting vil jeg dog på det KRAFTIGSTE anbefale: Hav altid en Option Explicit
stående i første linie!!!

Gå i Tools, Options og slå "Require Variable Declaration" til, så vil VB
automatisk indsætte Option Explicit som første linie i NYE filer. Når du nu
alligevel er i gang, så slå samtidig den fjollede "Auto Syntax Check" fra.
Du vil herefter blive gjort opmærksom på syntaksfejl ved at teksten bliver
rød, i stedet for at blive præsenteret for en dum dialogboks.

-------
Tomas



Moe (08-07-2001)
Kommentar
Fra : Moe


Dato : 08-07-01 12:58

Hej igen
Nu er jeg heller ikke den bedst bekendte med visual basic da jeg kun har
leget med det i ca ½ år.
Men lærer stadig.
Jeg skal have lavet tingene sådanne at der ikke er nogen labels eller
textboxe som rager ud over kanten så at man ikke kan se det hele. Men det
har jeg lidt svært ved.
Det jeg har nået frem til nu er at det hele bliver linet op på en lang
linje, men det skal være sådan at hvs man resizer formen skal der jo "om
møbleres" lidt.

Mvh. Martin

"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:lwL17.238$Uo5.6045@news.get2net.dk...
> Moe skrev:
> > Det hele skal arrangeres når formen formindskes. Det har jeg overhovedet
> > ingen ide om hvordan man kan gribe det an. For det skal jo komme i
rigtig
> > rækkefølge
>
> Jamen, hvorfor så overhovedet have muligheden for at ændre på formens
> størrelse?
>
> ...ellers er der mig bekendt to gangbare veje:
>
> 1. Køb (eller find en gratis) komponent, som er i stand til at resize
forms.
> 2. Gå i gang med at finde på nogle regler for hvordan, du ønsker at
> kontrollerne skal stå i forhold til hinanden, og implementer dem i
> Form_Resize event-proceduren.
>
> > Så jeg vil høre om du/eller andre vil kigge på min form og se hvordan
det
> > kan ordnes.
>
> Hmm. Jeg har kigget lidt på din kode.
> En del af den er godt nok noget unødig kompliceret, men det kommer med
> erfaringen. Når du ser på det igen om 6 måneder, er der nok mange ting,
som
> du vil gøre anderledes.
>
> Én ting vil jeg dog på det KRAFTIGSTE anbefale: Hav altid en Option
Explicit
> stående i første linie!!!
>
> Gå i Tools, Options og slå "Require Variable Declaration" til, så vil VB
> automatisk indsætte Option Explicit som første linie i NYE filer. Når du
nu
> alligevel er i gang, så slå samtidig den fjollede "Auto Syntax Check" fra.
> Du vil herefter blive gjort opmærksom på syntaksfejl ved at teksten bliver
> rød, i stedet for at blive præsenteret for en dum dialogboks.
>
> -------
> Tomas
>
>


begin 666 Form1.frm
M5D524TE/3B U+C P#0I"96=I;B!60BY&;W)M(&9R;51E<W0@#0H@("!";W)D
M97)3='EL92 @(" @/2 @(#,@("=&:7AE9"!$:6%L;V<-"B @($-L:65N=$AE
M:6=H=" @(" ](" @-C(U-0T*(" @0VQI96YT3&5F=" @(" @(#T@(" T-0T*
M(" @0VQI96YT5&]P(" @(" @(#T@(" T-0T*(" @0VQI96YT5VED=&@@(" @
M(#T@(" Q,3,X-0T*(" @0VQI<$-O;G1R;VQS(" @(#T@(" P(" @)T9A;'-E
M#0H@("!#;VYT<F]L0F]X(" @(" @/2 @(# @(" G1F%L<V4-"B @($)E9VEN
M4')O<&5R='D@1F]N=" -"B @(" @($YA;64@(" @(" @(" @(" ](" @(E1A
M:&]M82(-"B @(" @(%-I>F4@(" @(" @(" @(" ](" @.2XW-0T*(" @(" @
M0VAA<G-E=" @(" @(" @(#T@(" P#0H@(" @("!796EG:'0@(" @(" @(" @
M/2 @(#0P, T*(" @(" @56YD97)L:6YE(" @(" @(#T@(" P(" @)T9A;'-E
M#0H@(" @("!)=&%L:6,@(" @(" @(" @/2 @(# @(" G1F%L<V4-"B @(" @
M(%-T<FEK971H<F]U9V@@(" ](" @," @("=&86QS90T*(" @16YD4')O<&5R
M='D-"B @($EC;VX@(" @(" @(" @(" ](" @(D9O<FTQ+F9R>"(Z,# P, T*
M(" @3&EN:U1O<&EC(" @(" @(#T@(" B1F]R;3$B#0H@("!-87A"=71T;VX@
M(" @(" @/2 @(# @(" G1F%L<V4-"B @($UI;D)U='1O;B @(" @(" ](" @
M," @("=&86QS90T*(" @4V-A;&5(96EG:'0@(" @(#T@(" V,C4U#0H@("!3
M8V%L95=I9'1H(" @(" @/2 @(#$Q,S@U#0H@("!3:&]W26Y487-K8F%R(" @
M/2 @(# @(" G1F%L<V4-"B @(%-T87)T57!0;W-I=&EO;B ](" @,R @)U=I
M;F1O=W,@1&5F875L= T*(" @0F5G:6X@5D(N5&EM97(@5&EM97(Q( T*(" @
M(" @26YT97)V86P@(" @(" @(#T@(" U,# P#0H@(" @("!,969T(" @(" @
M(" @(" @/2 @(#$R, T*(" @(" @5&]P(" @(" @(" @(" @(#T@(" U-S8P
M#0H@("!%;F0-"B @($)E9VEN(%9"+E1E>'1";W@@='AT3W)D( T*(" @(" @
M0F5G:6Y0<F]P97)T>2!&;VYT( T*(" @(" @(" @3F%M92 @(" @(" @(" @
M(#T@(" B5&%H;VUA(@T*(" @(" @(" @4VEZ92 @(" @(" @(" @(#T@(" X
M+C(U#0H@(" @(" @("!#:&%R<V5T(" @(" @(" @/2 @(# -"B @(" @(" @
M(%=E:6=H=" @(" @(" @(" ](" @-# P#0H@(" @(" @("!5;F1E<FQI;F4@
M(" @(" @/2 @(# @(" G1F%L<V4-"B @(" @(" @($ET86QI8R @(" @(" @
M(" ](" @," @("=&86QS90T*(" @(" @(" @4W1R:6ME=&AR;W5G:" @(#T@
M(" P(" @)T9A;'-E#0H@(" @("!%;F10<F]P97)T>0T*(" @(" @2&5I9VAT
M(" @(" @(" @(#T@(" R-34-"B @(" @($EN9&5X(" @(" @(" @(" ](" @
M, T*(" @(" @3&5F=" @(" @(" @(" @(#T@(" Q,C -"B @(" @(%1A8DEN
M9&5X(" @(" @(" ](" @, T*(" @(" @5&]P(" @(" @(" @(" @(#T@(" P
M#0H@(" @("!6:7-I8FQE(" @(" @(" @/2 @(# @(" G1F%L<V4-"B @(" @
M(%=I9'1H(" @(" @(" @(" ](" @,34P#0H@("!%;F0-"B @($)E9VEN(%9"
M+DQA8F5L(&QB;%1E>'0@#0H@(" @("!"96=I;E!R;W!E<G1Y($9O;G0@#0H@
M(" @(" @("!.86UE(" @(" @(" @(" @/2 @(")486AO;6$B#0H@(" @(" @
M("!3:7IE(" @(" @(" @(" @/2 @(#@N,C4-"B @(" @(" @($-H87)S970@
M(" @(" @(" ](" @, T*(" @(" @(" @5V5I9VAT(" @(" @(" @(#T@(" T
M,# -"B @(" @(" @(%5N9&5R;&EN92 @(" @(" ](" @," @("=&86QS90T*
M(" @(" @(" @271A;&EC(" @(" @(" @(#T@(" P(" @)T9A;'-E#0H@(" @
M(" @("!3=')I:V5T:')O=6=H(" @/2 @(# @(" G1F%L<V4-"B @(" @($5N
M9%!R;W!E<G1Y#0H@(" @("!(96EG:'0@(" @(" @(" @/2 @(#(U-0T*(" @
M(" @26YD97@@(" @(" @(" @(#T@(" P#0H@(" @("!,969T(" @(" @(" @
M(" @/2 @(# -"B @(" @(%1A8DEN9&5X(" @(" @(" ](" @,0T*(" @(" @
M5&]P(" @(" @(" @(" @(#T@(" V-0T*(" @(" @5FES:6)L92 @(" @(" @
M(#T@(" P(" @)T9A;'-E#0H@(" @("!7:61T:" @(" @(" @(" @/2 @(#$S
M-0T*(" @16YD#0I%;F0-"D%T=')I8G5T92!60E].86UE(#T@(F9R;51E<W0B
M#0I!='1R:6)U=&4@5D)?1VQO8F%L3F%M95-P86-E(#T@1F%L<V4-"D%T=')I
M8G5T92!60E]#<F5A=&%B;&4@/2!&86QS90T*071T<FEB=71E(%9"7U!R961E
M8VQA<F5D260@/2!4<G5E#0I!='1R:6)U=&4@5D)?17AP;W-E9" ]($9A;'-E
M#0I#;VYS="!T>'1497AT($%S(%-T<FEN9R ]("*[36%R=&EN(&5R(&5N(*M&
M;&%S:V5D<F5N9[LL('/E(&AA;B!S:V%L('-A;6QE(&9L87-K97(@<V%M;65N
M(&D@JVMA<W-E<KLL(%1(24A)+""K36%R=&ENNRZK0V%M:6QL8;L@97(@9W)I
M;2!A;&EA<ZM51TQ9(;LB#0I#;VYS="!C:&%R7W1X=%]W:61T:" ](#$P, T*
M0V]N<W0@8VAA<E]L8FQ?=VED=&@@/2 W, T*1&EM($)O>&4@07,@26YT96=E
M<@T*1&EM($QA8F5L($%S($EN=&5G97(-"@T*4')I=F%T92!3=6(@1F]R;5]#
M;&EC:R@I#0H@(" @16YD#0I%;F0@4W5B#0H-"E!R:79A=&4@4W5B($9O<FU?
M3&]A9"@I#0H@(" @0V%L;"!N>65?3&%B96QS#0H@(" @0V%L;"!N>65?=&5X
M=&)O>&4-"B @("!#86QL(&%R<F%N9V5R#0I%;F0@4W5B#0I0=6)L:6,@4W5B
M(&YY95],86)E;',H*0T*3&%B96P@/2 P#0IC:&%R7V%N=&%L(#T@3&5N*'1X
M=%1E>'0I#0I&;W(@0R ](#$@5&\@8VAA<E]A;G1A; T*(" @(%1E;7!!(#T@
M36ED*'1X=%1E>'0L($,L(#$I#0H@(" @(" @($EF(%1E;7!!(#T@(KLB(%1H
M96X-"B @(" @(" @(" @("<M+2TM+2TM+2TM#0H@(" @(" @(" @("!,86)E
M;" ]($QA8F5L("L@,0T*(" @(" @(" @(" @3&]A9"!L8FQ497AT*$QA8F5L
M*0T*(" @(" @(" -"B @(" @(" @(" @(&EN=%-T87)T02 ](#$-"B @(" @
M(" @(" @($9O<B!$(#T@0R!4;R!C:&%R7V%N=&%L#0H@(" @(" @(" @(" @
M(" @36]E02 ]($UI9"AT>'1497AT+"!$("L@,2P@,2D-"B @(" @(" @(" @
M(" @("!)9B!-;V5!(#T@(JLB(%1H96X-"B @(" @(" @(" @(" @(" @(" @
M17AI="!&;W(-"B @(" @(" @(" @(" @("!%;'-E#0H@(" @(" @(" @(" @
M(" @(" @(&QB;%1E>'0H3&%B96PI+D-A<'1I;VX@/2!L8FQ497AT*$QA8F5L
M*2Y#87!T:6]N("8@36]E00T*(" @(" @(" @(" @(" @($5N9"!)9@T*(" @
M(" @(" @(" @(" @(" @("!L8FQ497AT*$QA8F5L*2Y7:61T:" ]($QE;BAL
M8FQ497AT*$QA8F5L*2D@*B!C:&%R7VQB;%]W:61T: T*(" @(" @(" @(" @
M(" @(" @(" -"B @(" @(" @(" @(" @(" @(" @;&)L5&5X="A,86)E;"DN
M5FES:6)L92 ](%1R=64-"B @(" @(" @(" @("!.97AT#0H@(" @(" @($5N
M9"!)9@T*3F5X= T*16YD(%-U8@T*#0I0=6)L:6,@4W5B(&YY95]T97AT8F]X
M92@I#0I";WAE(#T@, T*8VAA<E]A;G1A;" ]($QE;BAT>'1497AT*0T*1F]R
M($D@/2 Q(%1O(&-H87)?86YT86P-"B @("!496UP(#T@36ED*'1X=%1E>'0L
M($DL(#$I#0H@(" @(" @($EF(%1E;7 @/2 BJR(@5&AE;@T*(" @(" @(" @
M(" @:6YT4W1A<G0@/2 Q#0H@(" @(" @(" @("!&;W(@02 ]($D@5&\@8VAA
M<E]A;G1A; T*(" @(" @(" @(" @(" @(&UO92 ]($UI9"AT>'1497AT+"!!
M+" Q*0T*(" @(" @(" @(" @(" @($EF(&UO92 ]("*[(B!4:&5N#0H@(" @
M(" @(" @(" @(" @(" @(&)O9W-T879E<B ](&EN=%-T87)T("T@,@T*(" @
M(" @(" @(" @(" @(" @("!T97AT8F]X("AB;V=S=&%V97(I#0H@(" @(" @
M(" @(" @(" @(" @($5X:70@1F]R#0H@(" @(" @(" @(" @(" @16QS90T*
M(" @(" @(" @(" @(" @(" @("!I;G13=&%R=" ](&EN=%-T87)T("L@,0T*
M(" @(" @(" @(" @(" @($5N9"!)9@T*(" @(" @(" @(" @($YE>'0-"B @
M(" @(" @16YD($EF#0I.97AT#0I%;F0@4W5B#0H-"E!U8FQI8R!3=6(@=&5X
M=&)O>"AB;V=S=&%V97(I#0H@(" @0F]X92 ]("A";WAE("L@,2D-"B @("!,
M;V%D('1X=$]R9"A";WAE*0T*(" @('1X=$]R9"A";WAE*2Y7:61T:" ](&)O
M9W-T879E<B J(&-H87)?='AT7W=I9'1H#0H@(" @='AT3W)D*$)O>&4I+E9I
M<VEB;&4@/2!4<G5E#0I%;F0@4W5B#0I3=6(@87)R86YG97(H*0T*1F]R($$@
M/2 Q(%1O(#4-"B @("!&;W(@22 ](#$@5&\@;&)L5&5X="Y#;W5N=" M(#$-
M"B @(" @(" @;&)L5&5X="A)*2Y,969T(#T@='AT3W)D*$D@+2 Q*2Y,969T
M("L@='AT3W)D*$D@+2 Q*2Y7:61T:" K(#$U#0H@(" @3F5X= T*(" @($9O
M<B!)(#T@,2!4;R!T>'1/<F0N0V]U;G0@+2 Q#0H@(" @(" @('1X=$]R9"A)
M*2Y,969T(#T@;&)L5&5X="A)*2Y,969T("L@;&)L5&5X="A)*2Y7:61T:" K
M(#$U#0H@(" @3F5X= T*3F5X= T*16YD(%-U8@T*4'5B;&EC(%-U8B!F96IL
M7VMA<W-E*$YU;6UE<BP@1F%R=F4I#0H@(" @='AT3W)D*$YU;6UE<BDN1F]R
;94-O;&]R(#T@1F%R=F4-"D5N9"!3=6(-"@T*
`
end


Tomas Christiansen (08-07-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 08-07-01 22:26

Martin skrev:
> Jeg skal have lavet tingene sådanne at der ikke er nogen labels eller
> textboxe som rager ud over kanten så at man ikke kan se det hele.

Ja, men jeg er ikke helt med på hvordan du rent faktisk ønsker, at det hele
skal se ud.

Skal det se ud som den form du vedhæftede et par indlæg siden?
Dvs. noget med:

TekstBoks1 Label1
TekstBoks2 Label2
osv.

Så vil det måske være en idé at gennemgå alle tekstbokse og alle labels for
at finde den bredeste af hver slags. Hertil lægges eventuel venstremargen
(dvs. til venstre for tekstboksene), mindste afstand mellem tekstboks og
label og eventuel højremargen (dvs. til højre for labels). Dette tal angive
formens minimumsbredde.

Tilsvarende kan finde ud af formens minimumshøjde ved at finde ud af hvor
mange linier, som du har, og lægge diverse margener og afstande til.

I Form_Resize skal du holde formens Width og Height op mod de fundne
minimumsværdier, og hvis disse overskrides (underskrides?), sætter du
henholdsvis Width og Height til minimumsværdien.

Så langt så godt - nu kan din form ikke blive for lille, og det gør
formentlig ikke noget at den bliver meget stor.

Med hensyn til placeringen af dine tekstbokse og labels, kan du jo nu løbe
dem igennem én for én og indstille deres placering i henhold til
minimumsværdierne, margenerne og afstandene. Hvis du ønsker at de skal
"brede sig" ud over formen, kan du f.eks. tage den resterende plads og
fordele den efter én eller anden fordelingsnøgle mellem de forskellige
"tomme" steder på formen.

Eksempel:

Dim *alle variabler* As Long

MinVeMar = 100
MinHorAfst = 300
MinHøMar = 100

Lad os antage at den bredeste tekstboks er 500 bred og den bredeste label er
3210 bred.

Formen skal derfor være minimum 100+500+300+3210+100 = 4210 bred.

Hvis den er bredere end dette, skal den ekstra bredde fordeles med 20% til
venstremargen, 60% til afstand mellem tekstbokse og labels og 20% til
højremargen. Er den smallere, gøres den bred nok.

BredesteTekstboks = 500
BredesteLabel = 3210
MinBredde = MinVeMar + BredesteTekstboks + MinHorAfst + _
BredesteLabel + MinHøMar

If Form.Width < MinBredde Then
Form.Width = MinBredde
EndIf

Ekstra = Form.Width - MinBredde
TekstboxLeft = MinVeMar + Ekstra/100*20
HorAfst = MinHorAfst + Ekstra/100*60
LabelLeft = TekstboxLeft + BredesteTekstboks + HorAfst

'Sæt nu alle tekstbokses .Left til TekstboxLeft
'Sæt nu alle labels .Left til LabelLeft


-------
Tomas



Tomas Christiansen (09-07-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 09-07-01 08:29

Martin skrev:
> Det jeg har nået frem til nu er at det hele bliver linet op på en lang
> linje, men det skal være sådan at hvs man resizer formen skal der jo "om
> møbleres" lidt.

Ups! Ja, jeg så først NU, at du jo havde vedhæftet en ny version af din
form...

Men den metodiske fremgangsmåde, som jeg beskrev, gælder i og for sig
stadig...

Du kan "blot" tilføje muligheden for at dele teksten over flere linier.
F.eks. noget med at hvis linien er for lang, så prøv at skære en del fra.
Er det ikke nok, så skær noget mere fra, osv. til linien kan stå på formen.
Det samme gøres nu med den resterende del (som blev skåret fra), indtil
denne del kan så på formen.
Og så fremdeles til alt teksten er vist på formen.
Det kan være nødvendigt undervejs i denne proces at gøre formen lidt højere
for at få plads til alle linierne (hvis formen er gjort meget smal).

-------
Tomas



Moe (09-07-2001)
Kommentar
Fra : Moe


Dato : 09-07-01 20:02

Hej igen, igen
Det er det jeg på sin vis er at jeg vil have dig/andre til at komme med
kode.
Fordi jeg har ingen ide om hvor man skal kunne få det til at passe.
Fordi min kode først laver textboxe og derefter labels (ellers er det
omvendt), og så skulle det jo gerne passe i række følgen. men jeg har ingen
ide om hvordan det gøres.

Jeg ville da også blive glad hvis du kunne hjælpe med at "simplificere"
koden lidt. For jeg har ingen ide på andre fremgangs måder, i det at det
også var lidt held at det virkede.

Mvh. Martin

"Tomas Christiansen" <toc@blikroer.dk.removethis> wrote in message
news:n3d27.29$%i7.3126@news.get2net.dk...
> Martin skrev:
> > Det jeg har nået frem til nu er at det hele bliver linet op på en lang
> > linje, men det skal være sådan at hvs man resizer formen skal der jo "om
> > møbleres" lidt.
>
> Ups! Ja, jeg så først NU, at du jo havde vedhæftet en ny version af din
> form...
>
> Men den metodiske fremgangsmåde, som jeg beskrev, gælder i og for sig
> stadig...
>
> Du kan "blot" tilføje muligheden for at dele teksten over flere linier.
> F.eks. noget med at hvis linien er for lang, så prøv at skære en del fra.
> Er det ikke nok, så skær noget mere fra, osv. til linien kan stå på
formen.
> Det samme gøres nu med den resterende del (som blev skåret fra), indtil
> denne del kan så på formen.
> Og så fremdeles til alt teksten er vist på formen.
> Det kan være nødvendigt undervejs i denne proces at gøre formen lidt
højere
> for at få plads til alle linierne (hvis formen er gjort meget smal).
>
> -------
> Tomas
>
>



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste