webForumDet fria alternativet

imgBild.picture = ??

.NET

12 svar · 279 visningar · startad av zlasher

Medlem sedan okt. 2001157 inlägg
Frågan#1

Hallå där!

Tänkte bara fråga er hur man gör för att ändra en bilds (eller textbox etc) bild genom att koda...

Jag vill alltså kunna skriva nånting sånt här:
imgBild.picture = "c:\bild.gif"
istället för att ändra i egenskaperna...

Vet ni hur man kan göra det?

tack :)
Samuel

Medlem sedan okt. 20023 030 inlägg
#2

Set imgBild.Picture = LoadPicture("C:\bild.gif")

Medlem sedan okt. 2001157 inlägg
#3

Nämen det är ju underbart :)
Tack så mkt!! :D

Medlem sedan okt. 2001157 inlägg
#4

Hmm...en sak till...om man vill göra samma sak för en knapp?
Samma rad kod fungerade inte...hur gör man då?

alltså:
set cmdKnapp.picture = LoadPicture("sökväg")
gick ju inte... :(

tack på förhand :)

Medlem sedan juni 20022 599 inlägg
#5

Det funkar bra om du sätter knappens Style till Graphical i properties-fönstret.

Medlem sedan okt. 2001157 inlägg
#6

Heh...jag som trodde jag hade ändrat till graphical :)
Nu fungerar det ju :)
Tack så mkt...
En sista fråga bara...börjar kanske bli lite tjatigt :)
För att ändra Style med kod...hur skriver man då?

Medlem sedan okt. 20023 030 inlägg
#7

Grafisk:
cmdKnapp.Style = 1

Original:
cmdKnapp.Style = 0

Medlem sedan okt. 2001157 inlägg
#8

@Nexus86, har du provat om det där funkar?

Jag har provat det men den säger att det är ett readonly-objekt..
Den kan inte ändra stylen i runtime.. :(

Medlem sedan okt. 20023 030 inlägg
#9

Så kanske det var. Har för mig att jag provade det för något år sedan. :) Isåfall går det nog inte.

Medlem sedan okt. 2001157 inlägg
#10

Hmm...okej.. :)

En lärare sa till mig:
"Det finns inget som heter: 'Det går inte!' i programmering.
Frågan är bara hur man gör..."

Man kanske kan pausa på något sätt medan man ändrar...?
Det måste gå på NÅT sätt!! :)

Medlem sedan juni 20022 599 inlägg
#11

Det måste gå på NÅT sätt!!

Allt går (iaf mha google):

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd _
   As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd _
   As Long, ByVal nIndex As Long) As Long

Private Const GWL_STYLE = (-16)
Private Const BS_OWNERDRAW = &HB&

'Sätt till Graphical
SetWindowLong cmdKnapp.hwnd, GWL_STYLE, GetWindowLong(cmdKnapp.hwnd, GWL_STYLE) Or BS_OWNERDRAW
set cmdKnapp.picture = LoadPicture("sökväg")  'Ladda bild.

'Ta bort Graphical
SetWindowLong cmdKnapp.hwnd, GWL_STYLE, GetWindowLong(cmdKnapp.hwnd, GWL_STYLE) And Not BS_OWNERDRAW
cmdKnapp.Refresh 'Tvinga omritning
Medlem sedan maj 20031 472 inlägg
#12

Eller så kan man ju ha 2 kanppar med samma kod och bara byta mellan dom, inte snyggt men det skulle funka.

Medlem sedan okt. 20023 030 inlägg
#13

Jag skrev:

Isåfall går det nog inte.

zlasher skrev:

Det finns inget som heter: 'Det går inte!' i programmering

Vilken tur att jag inte sa det då. :OO :e

Bara för principernas skull så kan jag säga att det inte finns något som heter 'Det går inte!' i programmering men det finns det banne mej i VB. Försök göra ett operativsystem i VB så får du se. :e

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)