Avatar billede faroe Nybegynder
21. september 2001 - 11:22 Der er 7 kommentarer og
1 løsning

Icon

Er dette muligt at skifte iconet ud på en
formular

på samme måde som man skifter dette ud på databasen
21. september 2001 - 11:50 #1
Nu bliver det lidt teknisk!

Læg følgende kode i et modul:

Public Declare Function LoadImage Lib \"user32\" _
  Alias \"LoadImageA\" _
  (ByVal hInst As Long, _
  ByVal lpsz As String, _
  ByVal un1 As Long, _
  ByVal n1 As Long, _
  ByVal n2 As Long, _
  ByVal un2 As Long) _
  As Long
 
Public Declare Function SendMessage Lib \"user32\" _
  Alias \"SendMessageA\" _
  (ByVal hWnd As Long, _
  ByVal wMsg As Long, _
  ByVal wParam As Long, _
  LParam As Any) _
  As Long
 
 
Public Const WM_GETICON = &H7F
Public Const WM_SETICON = &H80
Public Const ICON_SMALL = 0
Public Const ICON_BIG = 1

\'// LoadImage() image types
Public Const IMAGE_BITMAP = 0
Public Const IMAGE_ICON = 1
Public Const IMAGE_CURSOR = 2
Public Const IMAGE_ENHMETAFILE = 3

\'// LoadImage() flags
Public Const LR_DEFAULTCOLOR = &H0
Public Const LR_MONOCHROME = &H1
Public Const LR_COLOR = &H2
Public Const LR_COPYRETURNORG = &H4
Public Const LR_COPYDELETEORG = &H8
Public Const LR_LOADFROMFILE = &H10
Public Const LR_LOADTRANSPARENT = &H20
Public Const LR_DEFAULTSIZE = &H40
Public Const LR_LOADMAP3DCOLORS = &H1000
Public Const LR_CREATEDIBHeader = &H2000
Public Const LR_COPYFROMRESOURCE = &H4000
Public Const LR_SHARED = &H8000

Public Function SetFormIcon(hWnd As Long, IconPath As String) As Boolean
Dim hIcon As Long

  hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)

  \'// wParam = 0; Setting small icon. wParam = 1; setting large icon
  If hIcon <> 0 Then
      Call SendMessage(hWnd, WM_SETICON, 0, ByVal hIcon)
      SetFormIcon = True
  End If
End Function


Herefter lægger du følgende kode på en forms OnLoad-event:
Call SetFormIcon(Me.hWind, \"C:\\Dokumenter\\MitIkon.ico\"

/Thomas
www.makeiteasy.dk
Avatar billede faroe Nybegynder
21. september 2001 - 12:24 #2
FÅNGERER IKKE
SKAL MODULET HEDE NÅGET PESTEMT ??
21. september 2001 - 12:28 #3
Nej, det må bare IKKE hedde \"SetFormIcon\"

Men der er sneget sig en lille fejl ind i den sidste sætning (den der skal ligge på formularen. Den skal se således ud:

Call SetFormIcon(Me.Hwnd, \"C:\\Dokumenter\\MitIkon.ico\"


Du skal selvfølgelig sætte din egen sti ind i udtrykket.

Håber, at det hjælper?

/Thomas
Avatar billede faroe Nybegynder
21. september 2001 - 12:36 #4
FÅNGERER IKKE
SODEN SKRIVER JEG
P.S. JEG PRUGER ACCESS 2000

Private Sub Form_Open(Cancel As Integer)
Call SetFormIcon(Me.Hwnd, \"C:\\MANUAL.ICO\"
End Sub
21. september 2001 - 12:39 #5
Koden må heller ikke ligge på Form_Open. Det skulle være Form_Load (VedIndlæsning)

Private Sub Form_Load()
  Call SetFormIcon(Me.Hwnd, \"C:\\MANUAL.ICO\"
End Sub

(Ved Form_Open er formen endnu ikke indlæst, hvor der ikke er nogen form at \'klistre\' et icon på.)
Avatar billede faroe Nybegynder
21. september 2001 - 13:02 #6
Fånferer ikke
MIN DATABASE ENDER MED .mdw

Private Sub Form_Load()

  Call SetFormIcon(Me.Hwnd, \"C:\\Manual.ico\"

End Sub
21. september 2001 - 13:05 #7
.mdw ???
Det er en arbejdsgruppe-fil!

Der mangler selvfølgelig også lige en parentes i slutningen af linien, men det er næppe det.

Kan du evt prøve at sende mig databasen, så skal jeg kigge på den?
tj@makeiteasy.dk
Avatar billede faroe Nybegynder
21. september 2001 - 13:40 #8
Tusen tak får hjelpen ;)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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