30. april 2002 - 15:30 Der er 6 kommentarer og
2 løsninger

Zorder og måske noget andet

Hej,

jeg står og skal lave et program som kan skifte farven på et billede. Jeg gør det sådan så at jeg henter et *.gif format ind ind i en image box.

Jeg harb så sat en label bag ved imageboxen, som jeg skifter farve på. På Windows 2000 virker det fint nok, men på den første Win 98, er der problemmer. Label boksen ligger sig oven på image boksen. Ikke godt...

Jeg vil så bruger Zorder da jeg tror den kan klare det:
http://www.msdn.microsoft.com/library/en-us/vb98/html/vbmthZOrder.asp?frame=true

efter at have læst det blev jeg usikker.
Position:  Optional. Integer indicating the position of object relative to other instances of the same object. If position is 0 or omitted, object is positioned at the front of the z-order. If position is 1, object is positioned at the back of the z-order.

Hvad jeg kan læse mig til der at det kun kan bruges til samme objekt type? Label, label, og labels. Image, image og image. Og ikke Image, label?

Har i nogen ide hvad jeg så kunne gøre?


Casper // http://ildstorm.dk
Avatar billede ocp Nybegynder
30. april 2002 - 15:37 #1
Labels er noget underligt noget... de er ikke rigtige kontroller, men bliver udskrevet, fysisk, på formen. Prøv med en "rigtig" kontrol.
30. april 2002 - 15:41 #2
Hm ok :).

Prøver en Text Boks (du har ikke mulighed for at teste det)?

Men findes der ikke i VB en metode til at styrer placeringen af de forskellige kontroller oven på hinanden? Lige som zindex i CSS?

Casper // http://ildstorm.dk
30. april 2002 - 15:41 #3
Damm sku ikke have været et svar
Avatar billede tjacob Juniormester
30. april 2002 - 15:42 #4
Du kan godt bruge ZOrder på Labels og Imageboxe, da de tilhører samme gruppe:

    Me.Label1.ZOrder 1    'sætter den bagest
    Me.Image1.Zorder 0    'sætter den forrest

Du kan imidlertid IKKE sætte f.eks. en picturebox bag en label, da den tilhører en højere orden (af objekter i en form).

/tjacob
30. april 2002 - 15:47 #5
TJacob >>
1. Me. er det noget specialt ?
I dokumation står der: object.ZOrder position
Det kan godt værer jeg støtter mig for meget til den dokumation :)?

2. "Du kan godt bruge ZOrder på Labels og Imageboxe, da de tilhører samme gruppe", Okay - så blev jeg nysggerig, hvordan kender man forskel på højre / lavere grupper?

Casper // http://ildstorm.dk
Avatar billede tjacob Juniormester
30. april 2002 - 15:54 #6
Me er bare en reference til formen. Hvis koden ligger i  et modul skal du skrive f.eks. Form1.Label1.ZOrder 1 osv.
Objectet som du refererer til er selve kontrollen -altså Form1.Label1 -OK?

Det med grupperne har jeg ikke helt tjek på, men MSDN skriver:

Three graphical layers are associated with forms and containers. The back layer is the drawing space where the results of the graphics methods are displayed. Next is the middle layer where graphical objects and Label controls are displayed. The front layer is where all nongraphical controls like CommandButton, CheckBox, or ListBox are displayed. Anything contained in a layer closer to the front covers anything contained in the layer(s) behind it. ZOrder arranges objects only within the layer where the object is displayed.

/tjacob
30. april 2002 - 16:04 #7
ja ok, jeg takker!
Avatar billede tjacob Juniormester
30. april 2002 - 16:06 #8
Me er bare en hurtig måde at referere til formen på. I kode i  alle forms kan du bruge Me i stedet for formens navn.
Det kunne helt undlades, men jeg bruger det altid, da man så kan vælge sine kontroller eller metoder eller properties fra en dropdown-liste, i stedet for at skulle skrive navnet på kontrollen/metoden/propertien.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester