17. september 2002 - 19:20Der er
9 kommentarer og 1 løsning
Visning af picture fra andet felt
Hej NG Har lavet et lille prg. tilknyttet en access-database via adodc-controllen. Nu vil jeg høre om jeg kan og evt. hvordan jeg kan "forbinde" to felter. ALtså, et text-felt hvor jeg skriver navnet på en bmp-fil. Og et Picturefelt, hvor den så viser billedet fra Text.feltet. Det er fint nok hvis både base, prg. og billede filer skal ligge i samme bibliotek.
Lille nemt eksempel. Det kræver 1 textfelt, 1 picturebox og 1 knap.
Du skrive billednavnet i dit txt felt og trykker på knappen kommer billedet i boxen.
Private Sub Command1_Click() Picture1.Picture = LoadPicture(App.Path & "\" & Text1.Text) End Sub
hvis du sætter et "," ind efter text1.text så kan du size billedet så det passer til din box, så behøver man ikke resize billedet, det ser sådan her ud.
Private Sub Command1_Click() Picture1.Picture = LoadPicture(App.Path & "\" & Text1.Text, , , x, y) End Sub
og vil også lige sige du kan lave det med forskellige properties på text feltet hvis du ikke vil have en knap..... Det kan være. lostfocus eller click.....
Perfekt det virker:-) Jeg har lagt det ind i form_load og efter alle commandoknapper, så det hele tiden bliver opdateret. Og det virker næsten perfekt. Men så hvis jeg lige komme med tillægsspørgsmål.. Hvis ja, så kommer de her: 1. Kan jeg sætte en Comm.Dialogboks ind og så vælge billedet, altså den indsætter navnet i Text1 når jeg vælger det (istedet for at skrive det), 2. Kan jeg vælge ee "default" Text (f.eks. "manglerbillede.gif"), så jeg ikke får fejl, hvis jeg ikke vælger et billede til nogle af mine poster. Hvis du vil have det, afsætter jeg gerne lidt flere points.. Ellers skal du jo selvf. have de points.. da du jo allerede har svaret på spørgsmålet..
2: ja - der kommer en error ting her - err 53 er = file not found
Private Sub Command1_Click() On Local Error GoTo ErrorHandler Picture1.Picture = LoadPicture(App.Path & "\" & Text1.Text) Exit Sub ErrorHandler: If Err = 53 Then Text1.Text = "Billede mangler" Picture1.Picture = LoadPicture(app.path & "\mangler.jpg") End If Exit Sub End Sub
Default billede kommer desværre ikke ind. Den tager "bare det forrige", og ups jeg menter om man kan åbne en dialogboks og vælge herfra, så den selv smider navnet på gif/bmp filen ind i tekstfeltet. Var lidt for hurtigt..
Her er noget, som jeg ikke selv har lavet, men du skulle kunne bruge det hvis du modificere det lidt - og sætter det sammen med det andet du har fået af mig :O)
Private Sub OpenFile_Click() Dim FileInfo As OPENFILENAME, RetVal As Long, Filter As String Filter$ = "Text Files (*.txt)|*.txt| All Files (*.*)|*.*" 'Edit
With FileInfo .lStructSize = Len(FileInfo) .hwndOwner = Me.hWnd .hInstance = App.hInstance End With
If Right$(Filter$, 1) <> "|" Then Filter$ = Filter$ & "|" End If
Call String_Replace(Filter$, "|", Chr$(0))
With FileInfo .lpstrFilter = Filter$ .lpstrFile = Text1.Text & Space$(254) 'Edit .nMaxFile = 255 .lpstrFileTitle = Space$(254) .nMaxFileTitle = 255 .lpstrInitialDir = "C:\" 'Edit .lpstrTitle = "Open As" 'Edit .lpstrDefExt = "" .FLAGS = OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT Or OFN_CREATEPROMPT End With
RetVal& = GetOpenFileName(FileInfo) If RetVal& Then Text1.Text = Trim$(FileInfo.lpstrFile) 'Edit Else Text1.Text = Text1.Text 'Edit End If End Sub
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.