Hey Tomas
Jeg benyttede GetMenuCheckMarkDimensions da denne stod før GetSystemMetrics
(i dette link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/win
prog/functions_by_category.asp)
Og at disse konstanter CXMENUCHECK og CYMENUCHECK har ikke opgivet deres
værdi.
Dette er faktisk gældende for temmelig mange beskrivelser vedr. API. -
Kender du til en side hvor disse konstanters værdi er listet?
Men tak for svaret...
/Johnny
"Tomas Christiansen" <toc-01-nospam@blikroer.dk> wrote in message
news:b9bqkm$13ag$1@news.cybercity.dk...
> Johnny E Jensen skrev:
> > I forbindelse med mit roden i Menu's via API er jeg faldet over
> > GetMenuCheckMarkDimensions funktionen der returnere et tal (eks. 851981)
>
> Bemærk at man IKKE bør bruge GetMenuCheckMarkDimensions, som kun
bibeholdes
> af hensyn til bagudkompatibilitet med 16-bit Windows-programmer. Du bør i
> stedet bruge GetSystemMetrics i kombination med CXMENUCHECK og
CYMENUCHECK.
>
> > så i Hi- og Low byte skulle angive checkmark's dimensionen - og hvor'n
var
> > det nu lige det med hi-byte low-byte. Det var hvis nok noget med Hex og
> > Hex(851981)=D000D eller &H000D000D
> >
> > Har jeg så ret i at hibyte=4 første ciffer altså '000D' og lowbyte de
> sidste
> > 4 ciffer.
>
> Funktionen returnerer en Long svarende til 4 bytes, og denne værdi skal
> opfattes som to stk. 2-bytes værdier (svarende til Integer i VB, kaldet
> high-order word og low-order word i MS's API-dokumentation).
>
> Det er helt rigtigt at hvis der returneres værdien 851981, så svarer det
til
> at både hi-word og lo-word's værdi er 13.
>
> Man kan f.eks. maske værdierne ud med:
> 851981 \ &H10000 og 851981 And &HFFFF&
>
> Husk for alt i verden den sidste ampersand, ellers vil du løbe ind i en
> række af VB's ufattelig kedelige implicitte konverteringer, som ødelægger
> resultatet fuldstændig!
>
> -------
> Tomas
>