Avatar billede southfarm Praktikant
05. juli 2006 - 09:59 Der er 7 kommentarer og
1 løsning

Ikoner på formular

Hei Eksperter,

På selve min access database har jeg endret ikonet i øverste venstre hjørne til et nyt, men vil også gerne endre det i de forskellige skemaere og formular i databasen - er det muligt? Hvordan?
Avatar billede -anders- Juniormester
05. juli 2006 - 10:49 #1
Hej
Hvis du køre access 2003 er det muligt under menuen funktioner/start at angive et brugerdefineret ikon der skal vises på dine forms i øverste venstre hjørne, du skal blot sætte et flueben under knappen gennemse når du har angivet et programikon, det er så dette ikon der kan anvendes på forms også.

Man kan også programeres sig ud af det på dette link er der beskrevet hvordan. http://www.mvps.org/access/api/api0043.htm. Jeg har dog aldrig selv prøvet med programmering, men det er temlig langhåret API programmering der skal til.
Avatar billede -anders- Juniormester
05. juli 2006 - 11:11 #2
For meget lang tid siden forsøgte jeg faktisk selv med kode i dette spørgsmål http://www.eksperten.dk/spm/273459, men vi fik det aldrig til at virke.
Avatar billede -anders- Juniormester
05. juli 2006 - 11:25 #3
Hej igen, nu er den gået mig i blodet :o), jeg har testet med det gamle link ovenfor, og har faktisk fået det til at virke med med API programmering. Hvis du anvender kode er det således muligt at bruge forskellige ikoner på de forskellige forms, jeg har kun testet det på access 2003, og ved derfor ikke om det virker i lavere versioner, prøv at paste nednestående kode over i et nyt 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
'Code end'

Åben derefter en form i designvisning, under hændelsen OnOpen eller OnLoad skirver du nednestående kode, bemærk at du skal skifte stien til din egen billedfil:

SetFormIcon Me.hWnd, "C:\Servicecall.ico"

Når formen åbnes vises di eget ikom i formens øverste venstere hjørne (Kontrol menuboks)
Avatar billede southfarm Praktikant
06. juli 2006 - 09:04 #4
Hej Anders

- Den først virker godt - Mange tak. Men selvom jeg ikke arbejder med koder normale bliver jeg interessert i at få koden til at virke. Hvad skal jeg kalde det modul jeg laver når jeg gemmer den?
Avatar billede -anders- Juniormester
06. juli 2006 - 10:10 #5
Tak for point, glad for du fik det til at virke, den første metode er den nemmste, men ikke så fleksibel som den anden metode.

Jeg en lille demodb med 2 forms og modul med kode, de 2 forms demonstrer hvert sit ikon, jeg tror det er langt det nemmeste hvis du poster en mailadresse så sender jeg demodb til dig, så du kan kikke den igennem
Avatar billede southfarm Praktikant
06. juli 2006 - 10:32 #6
du kan sende den til kent(a)southfarm.dk - Mange takk
Avatar billede -anders- Juniormester
06. juli 2006 - 10:53 #7
Demodb sendt
Avatar billede southfarm Praktikant
07. juli 2006 - 07:33 #8
Da fik jeg det til at virke - veldig enkelt - når man ved hvordan. 1.000 tak!
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