02. april 2002 - 09:51 Der er 9 kommentarer og
2 løsninger

farve på faneblade m.m.

En lille let én:

Er der nogen, som ligger inde med nogle API-funktioner, som kan skifte farve på tab-controls, kommandokanpper og andre kontrolelementer, som altid bare er grå?

Der gives fuld point for en generel funktion som kan skifte dem alle (det er jo noget med at fange kontrollens Handle og skifte farve vha den?)
En funktion, som kun kan skifte farve på ét kontrolelement giver færre point.

Det skulle da ikke være så svært, vel? :o)

/Thomas
Avatar billede terry Ekspert
02. april 2002 - 11:46 #1
Hi Thomas>Not much free time for eksperten at the moment but I managed to find something which may be of use!

API: hWnd of Controls
--------------------------------------------------------------------------------
 

(Q) How can I get handle to a control at runtime?

(A) Access controls are not standard VB controls.  They're drawn on the screen at runtime. As such, unlike VB controls, they do not have a unique hWnd.

    When an Access control on a form receives the focus, it becomes a true window and it's possible to retrieve it's handle by using the GetFocus API.  Note that because Access controls do not behave like VB controls, there's not a whole lot that we can do with the hWnd.

'********* Code Start *************
Private Declare Function apiGetFocus Lib "user32" _
        Alias "GetFocus" _
        () As Long
       
Function fhWnd(ctl As Control) As Long
    On Error Resume Next
    ctl.SetFocus
    If Err Then
        fhWnd = 0
    Else
        fhWnd = apiGetFocus
    End If
    On Error GoTo 0
End Function
'*********** Code End *************
Avatar billede terry Ekspert
02. april 2002 - 11:47 #2
I know it doesnt give an answer to your problem, but may clear thing up a bit
02. april 2002 - 11:52 #3
Hej Terry,

Ja, jeg kender godt den kode (Fra Dev's Access Web), men jeg føler ikke at jeg kan komme videre med den. Måske pga at de netop ikke har en unik hWnd.

Tro mig, jeg har gennemgået alle API-eksemplerne på Access Web'en.

/Thomas
Avatar billede faroe Nybegynder
02. april 2002 - 11:52 #4
Jeg har en DB, jeg kan sende den med mail til dej "din Mail adr??"
Avatar billede terry Ekspert
02. april 2002 - 12:23 #5
can you send it to me too? dktebrsa@europe.lego.com

Thomas>The last sentence is important "Access controls do not behave like VB controls, there's not a whole lot that we can do with the hWnd." !!
02. april 2002 - 14:13 #6
Farao-> Det lyder sgu fint :o))
Du finder min mailadresse ved at klikke på mit navn (f.eks. her til venstre)

Terry-> Ja, det er netop derfor jeg søger kreative alternative forslag! Som udgangspunkt kan alt jo lade sig gøre, ikk'?
02. april 2002 - 15:05 #7
Farao-> Det ser meget godt ud! Det er en nyere version af den database, som jeg selv svarede med i spg: http://www.eksperten.dk/spm/192733
Den virker fint med knapper, det må man sige (selvom jeg ikke lige har overblik over hvormeget det kræver for at benytte i det daglige)
Men det duer desværre ikke på faneblade, da det jo blot er en bitmap, som lægges på knappen.

Men du skal helt sikkert nok få gode point for den.

Jeg venter lige og ser hvad der ellers dukker op.

I mellemtiden, skal du lige smide et svar, så jeg kan give dig point når tiden kommer.
Avatar billede faroe Nybegynder
02. april 2002 - 15:55 #8
Det lyder godt. Der godt at man kan hjælpe lidt engang imellem, da du og Terry har løst mange at mine problemer.
Avatar billede faroe Nybegynder
02. april 2002 - 15:56 #9
af mine problemer. :-)
04. april 2002 - 21:02 #10
OKay, jeg lukker dette spm.

Farao får 100 p.

Tak for svarene.

/Thomas
04. april 2002 - 21:03 #11
Faroe! (ikke Farao - sorry)
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