/ 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
Få billede vist på commandbutton ?
Fra : Neo


Dato : 26-03-05 01:23

Hej Alle

Hvordan får jeg et billede på min commandbutton til at tilpasse sig
størrelsen på commandbutton ?

Billedet er en lille wmf.fil, og billedet bliver godt nok vist på knappen,
men i alt for stor størrelse.

Mvh Neo



 
 
Agner (11-04-2005)
Kommentar
Fra : Agner


Dato : 11-04-05 11:57


"Neo" <neo___dk@hotmail.removethis.com> skrev i en meddelelse
news:4244abe2$0$156$edfadb0f@dtext02.news.tele.dk...
> Hej Alle
>
> Hvordan får jeg et billede på min commandbutton til at tilpasse sig
> størrelsen på commandbutton ?
>
> Billedet er en lille wmf.fil, og billedet bliver godt nok vist på knappen,
> men i alt for stor størrelse.
>
> Mvh Neo

'Opret et nyt project set 2 pictureBoxes Pic1 og Pic2
'Og en CommandButton Cmd1 på formen.
'Set BorderStyle på pictureBoxene til none.
'Set CommandButton style til graphics.
'Copy and Paste Sub proceduren herunder
'Jeg regner med at du godt er klar over at underScore (_)
'bruges i visual basic til linje-deling.
'Du skal aldrig forstørre et billede -bitmap, wmf eller anden.
'Lad altid billedet være større end CommandButton, så den
'tilpasses CommandBut ved formindskning
'Du skal muligvis ændre Stien til prøvebillederne
'Prøvebilledet Beany.bmp er commenteret. Du kan
'prøve den bagefter. Den står flottest på Cmd1:

'agner

Private Sub Form_Load()
Dim x As Single, y As Single
Dim fakW As Single, fakH As Single

Pic1.AutoSize = True
Pic1.AutoRedraw = True
Pic1.ScaleMode = vbTwips
Pic2.AutoSize = True
Pic2.AutoRedraw = True
Pic2.ScaleMode = vbTwips
Pic1.Visible = False
Pic2.Visible = False
Pic1.Picture = LoadPicture("")
Pic1.Cls
'Pic1.Picture = LoadPicture("C:\Programmer _
'\DevStudio\VB\Graphics\Bitmaps\Assorted\Beany.bmp")
Pic1.Picture = LoadPicture("C:\Programmer _
\DevStudio\VB\Graphics\Metafile\Business\Laptop2.WMF")
fakW = (Cmd1.Width) / Pic1.Image.Width
fakH = (Cmd1.Height) / Pic1.Image.Height
If fakW < fakH Then
fakW = fakH
End If
Pic2.Width = Pic1.Width * fakW
Pic2.Height = Pic1.Height * fakW
Pic2.PaintPicture Pic1.Image, 0, 0, _
Pic1.Image.Width * fakW, Pic1.Image.Height * fakW, _
0, 0, Pic1.Image.Width, Pic1.Image.Height
Cmd1.Picture = Pic2.Image
Cmd1.Refresh

End Sub



Neo (11-04-2005)
Kommentar
Fra : Neo


Dato : 11-04-05 12:27

> 'Opret et nyt project set 2 pictureBoxes Pic1 og Pic2
> 'Og en CommandButton Cmd1 på formen.
> 'Set BorderStyle på pictureBoxene til none.
> 'Set CommandButton style til graphics.
> 'Copy and Paste Sub proceduren herunder
> 'Jeg regner med at du godt er klar over at underScore (_)
> 'bruges i visual basic til linje-deling.
> 'Du skal aldrig forstørre et billede -bitmap, wmf eller anden.
> 'Lad altid billedet være større end CommandButton, så den
> 'tilpasses CommandBut ved formindskning
> 'Du skal muligvis ændre Stien til prøvebillederne
> 'Prøvebilledet Beany.bmp er commenteret. Du kan
> 'prøve den bagefter. Den står flottest på Cmd1:
>
> 'agner
>
> Private Sub Form_Load()
> Dim x As Single, y As Single
> Dim fakW As Single, fakH As Single
>
> Pic1.AutoSize = True
> Pic1.AutoRedraw = True
> Pic1.ScaleMode = vbTwips
> Pic2.AutoSize = True
> Pic2.AutoRedraw = True
> Pic2.ScaleMode = vbTwips
> Pic1.Visible = False
> Pic2.Visible = False
> Pic1.Picture = LoadPicture("")
> Pic1.Cls
> 'Pic1.Picture = LoadPicture("C:\Programmer _
> '\DevStudio\VB\Graphics\Bitmaps\Assorted\Beany.bmp")
> Pic1.Picture = LoadPicture("C:\Programmer _
> \DevStudio\VB\Graphics\Metafile\Business\Laptop2.WMF")
> fakW = (Cmd1.Width) / Pic1.Image.Width
> fakH = (Cmd1.Height) / Pic1.Image.Height
> If fakW < fakH Then
> fakW = fakH
> End If
> Pic2.Width = Pic1.Width * fakW
> Pic2.Height = Pic1.Height * fakW
> Pic2.PaintPicture Pic1.Image, 0, 0, _
> Pic1.Image.Width * fakW, Pic1.Image.Height * fakW, _
> 0, 0, Pic1.Image.Width, Pic1.Image.Height
> Cmd1.Picture = Pic2.Image
> Cmd1.Refresh
>
> End Sub

Hey Agner

Tusinde tak for det ... jeg afprøver det snarest !

Mvh Neo



Agner (11-04-2005)
Kommentar
Fra : Agner


Dato : 11-04-05 12:27


"Neo" <neo___dk@hotmail.removethis.com> skrev i en meddelelse
news:4244abe2$0$156$edfadb0f@dtext02.news.tele.dk...
> Hej Alle
>
> Hvordan får jeg et billede på min commandbutton til at tilpasse sig
> størrelsen på commandbutton ?
>
> Billedet er en lille wmf.fil, og billedet bliver godt nok vist på knappen,
> men i alt for stor størrelse.
>
> Mvh Neo

Jeg har slettet disse 2 linier i Suben, da de ikke behøves:
Pic1.Picture = LoadPicture("")
Pic1.Cls

hilsen, agner

Private Sub Form_Load()
Dim x As Single, y As Single
Dim fakW As Single, fakH As Single

Pic1.AutoSize = True
Pic1.AutoRedraw = True
Pic1.ScaleMode = vbTwips
Pic2.AutoSize = True
Pic2.AutoRedraw = True
Pic2.ScaleMode = vbTwips
Pic1.Visible = False
Pic2.Visible = False
'Pic1.Picture = LoadPicture("C:\Programmer _
'\DevStudio\VB\Graphics\Bitmaps\Assorted\Beany.bmp")
Pic1.Picture = LoadPicture("C:\Programmer _
\DevStudio\VB\Graphics\Metafile\Business\Laptop2.WMF")
fakW = (Cmd1.Width) / Pic1.Image.Width
fakH = (Cmd1.Height) / Pic1.Image.Height
If fakW < fakH Then
fakW = fakH
End If
Pic2.Width = Pic1.Width * fakW
Pic2.Height = Pic1.Height * fakW
Pic2.PaintPicture Pic1.Image, 0, 0, _
Pic1.Image.Width * fakW, Pic1.Image.Height * fakW, _
0, 0, Pic1.Image.Width, Pic1.Image.Height
Cmd1.Picture = Pic2.Image
Cmd1.Refresh

End Sub




Agner (18-04-2005)
Kommentar
Fra : Agner


Dato : 18-04-05 08:27

Korrektion:
Neo, jeg opdagede en fejl. Nu skulle det være iorden !
agner

Private Sub Form_Load()
Dim x As Single, y As Single
Dim fakW As Single, fakH As Single

Pic1.AutoSize = True
Pic1.AutoRedraw = True
Pic1.ScaleMode = vbTwips
Pic2.AutoSize = True
Pic2.AutoRedraw = True
Pic2.ScaleMode = vbTwips
Pic1.Visible = False
Pic2.Visible = False
' Pic1.Picture = LoadPicture("C:\Programmer" & _
' "\DevStudio\VB\Graphics\Bitmaps\Assorted\Beany.bmp")
Pic1.Picture = LoadPicture("C:\Programmer" & _
"\DevStudio\VB\Graphics\Metafile\Business\Laptop2.WMF")
fakW = (Command1.Width) / ScaleX(Pic1.Image.Width, vbHimetric, vbTwips)
fakH = (Command1.Height) / ScaleY(Pic1.Image.Height, vbHimetric,
vbTwips)
If fakW > fakH Then
fakW = fakH
End If
Pic2.Width = Pic1.Width * fakW
Pic2.Height = Pic1.Height * fakW
Pic2.PaintPicture Pic1.Image, 0, 0, _
Pic1.Image.Width * fakW, Pic1.Image.Height * fakW, _
0, 0, Pic1.Image.Width, Pic1.Image.Height
Command1.Picture = Pic2.Image
Command1.Refresh
End Sub



Neo (18-04-2005)
Kommentar
Fra : Neo


Dato : 18-04-05 12:59


"Agner" <agner@ingenmail.com> skrev i en meddelelse
news:4263612b$0$654$edfadb0f@dread16.news.tele.dk...
> Korrektion:
> Neo, jeg opdagede en fejl. Nu skulle det være iorden !
> agner
>
> Private Sub Form_Load()
> Dim x As Single, y As Single
> Dim fakW As Single, fakH As Single
>
> Pic1.AutoSize = True
> Pic1.AutoRedraw = True
> Pic1.ScaleMode = vbTwips
> Pic2.AutoSize = True
> Pic2.AutoRedraw = True
> Pic2.ScaleMode = vbTwips
> Pic1.Visible = False
> Pic2.Visible = False
> ' Pic1.Picture = LoadPicture("C:\Programmer" & _
> ' "\DevStudio\VB\Graphics\Bitmaps\Assorted\Beany.bmp")
> Pic1.Picture = LoadPicture("C:\Programmer" & _
> "\DevStudio\VB\Graphics\Metafile\Business\Laptop2.WMF")
> fakW = (Command1.Width) / ScaleX(Pic1.Image.Width, vbHimetric,
vbTwips)
> fakH = (Command1.Height) / ScaleY(Pic1.Image.Height, vbHimetric,
> vbTwips)
> If fakW > fakH Then
> fakW = fakH
> End If
> Pic2.Width = Pic1.Width * fakW
> Pic2.Height = Pic1.Height * fakW
> Pic2.PaintPicture Pic1.Image, 0, 0, _
> Pic1.Image.Width * fakW, Pic1.Image.Height * fakW, _
> 0, 0, Pic1.Image.Width, Pic1.Image.Height
> Command1.Picture = Pic2.Image
> Command1.Refresh
> End Sub

Hej Agner

Tak for det ...

Jeg har lige været en smut udenlands så jeg har ikke fået afprøvet din kode
endnu ...

jeg vender tilbage når jeg har afprøvet den

Mvh Neo



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408819
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste