Fange alle mousemove og ændre fave

Tags:    delphi

Hej

Jeg forsøger at lave en Function som fanger mouse bevægelse
over knappen TBitBtn og derved andre faven.
Vil håbe en vil hjælpe, så functionen vil komme til, at virke.
Da jeg skal bruge denne function mange gange i programmet!

Fold kodeboks ind/udKode 


Med venlig hilsen
Monie Jacobsen

energy@sunwind.dk



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg forsøger at lave en Function som fanger mouse bevægelse over knappen TBitBtn og derved ændre farven.


Jeg ville jo nok vælge at gøre det på en anden måde. Først ville jeg sub-classe TBitBtn til det følgende:
Fold kodeboks ind/udKode 


Dernæste ville jeg så bruge TMyBitBtn i stedet for standard knappen (Den skulle selvfølgelig registreres, men her opretter jeg den bare i kode).
Fold kodeboks ind/udKode 


Så virker det iøvrigt bare. Denne fremgangsmåde kan jo også bruges på stort set alle andre komponenter, og dermed hjælpe med til at gøre tingene meget meget nemmere.

Iøvrigt vil jeg lige sige at koden til TMyBitBtn event'ene er sakset fra TLabel, som lige netop har OnMouseEnter og OnMouseLeave. Det er en god ide at studere kildekoden til dvs. komponenter. Man kan få mange gode ideer derfra. Det kræver selvfølgelig at man har en PRO udgave eller større.
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk

[Redigeret d. 06/01-04 08:23:18 af Thomas Due]

Hej Thomas Due

Mange tak for dit svar!
Jeg bruger dette som indlæring i Delphi.

Den første Kodeeksempel "sub-classe TBitBt"
Forstår jeg ikke rigtig, er hel på bare bund!
Er det en komponent?
Eller hvor skal dette indskrives?

Med venlig hilsen
Monie Jacobsen

energy@sunwind.dk


Hvis du tager udgangspunkt i præcis de eksempler jeg har skrevet kan du gøre således:
Fold kodeboks ind/udKode 


Ulempen ved at TMyBitBtn i dens nuværende form er at man skal oprette knapperne runtime, altså man skal skrive kode for at oprette dem. Man kan ikke sætte dem ind på formen. Det kræver at TMyBitBtn registreres som komponent.

Hvis du skal bruge mange af denne type knapper skal du derfor nok registrere knappen som komponent.

Hvis du uden videre vil registrer TMyBitBtn som komponent skal du kopiere koden over i en selvstændig unit. Her skal du så indsætte en særlig procedure som Delphi bruger til at finde ud af at registrere komponenten.
Fold kodeboks ind/udKode 


Så installerer du den fra menuen Component->Install Component

--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk



Jeg forsøger at lave en Function som fanger mouse bevægelse over knappen TBitBtn og derved ændre farven.


Jeg ville jo nok vælge at gøre det på en anden måde. Først ville jeg sub-classe TBitBtn til det følgende:
Fold kodeboks ind/udKode 


Dernæste ville jeg så bruge TMyBitBtn i stedet for standard knappen (Den skulle selvfølgelig registreres, men her opretter jeg den bare i kode).
Fold kodeboks ind/udKode 


Så virker det iøvrigt bare. Denne fremgangsmåde kan jo også bruges på stort set alle andre komponenter, og dermed hjælpe med til at gøre tingene meget meget nemmere.

Iøvrigt vil jeg lige sige at koden til TMyBitBtn event'ene er sakset fra TLabel, som lige netop har OnMouseEnter og OnMouseLeave. Det er en god ide at studere kildekoden til dvs. komponenter. Man kan få mange gode ideer derfra. Det kræver selvfølgelig at man har en PRO udgave eller større.
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk

[Redigeret d. 06/01-04 08:23:18 af Thomas Due]



Jeg forsøger at lave en Function som fanger mouse bevægelse over knappen TBitBtn og derved ændre farven.


Jeg ville jo nok vælge at gøre det på en anden måde. Først ville jeg sub-classe TBitBtn til det følgende:
Fold kodeboks ind/udKode 


Dernæste ville jeg så bruge TMyBitBtn i stedet for standard knappen (Den skulle selvfølgelig registreres, men her opretter jeg den bare i kode).
Fold kodeboks ind/udKode 


Så virker det iøvrigt bare. Denne fremgangsmåde kan jo også bruges på stort set alle andre komponenter, og dermed hjælpe med til at gøre tingene meget meget nemmere.

Iøvrigt vil jeg lige sige at koden til TMyBitBtn event'ene er sakset fra TLabel, som lige netop har OnMouseEnter og OnMouseLeave. Det er en god ide at studere kildekoden til dvs. komponenter. Man kan få mange gode ideer derfra. Det kræver selvfølgelig at man har en PRO udgave eller større.
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk

[Redigeret d. 06/01-04 08:23:18 af Thomas Due]


Hej Thomas Due

Mange tak for dit svar!
Jeg bruger dette som indlæring i Delphi.

Den første Kodeeksempel "sub-classe TBitBt"
Forstår jeg ikke rigtig, er hel på bare bund!
Er det en komponent?
Eller hvor skal dette indskrives?

Med venlig hilsen
Monie Jacobsen

energy@sunwind.dk



Jeg forsøger at lave en Function som fanger mouse bevægelse over knappen TBitBtn og derved ændre farven.


Jeg ville jo nok vælge at gøre det på en anden måde. Først ville jeg sub-classe TBitBtn til det følgende:
Fold kodeboks ind/udKode 


Dernæste ville jeg så bruge TMyBitBtn i stedet for standard knappen (Den skulle selvfølgelig registreres, men her opretter jeg den bare i kode).
Fold kodeboks ind/udKode 


Så virker det iøvrigt bare. Denne fremgangsmåde kan jo også bruges på stort set alle andre komponenter, og dermed hjælpe med til at gøre tingene meget meget nemmere.

Iøvrigt vil jeg lige sige at koden til TMyBitBtn event'ene er sakset fra TLabel, som lige netop har OnMouseEnter og OnMouseLeave. Det er en god ide at studere kildekoden til dvs. komponenter. Man kan få mange gode ideer derfra. Det kræver selvfølgelig at man har en PRO udgave eller større.
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk

[Redigeret d. 06/01-04 08:23:18 af Thomas Due]

Hej Thomas Due

Mange tak for dit svar!
Jeg bruger dette som indlæring i Delphi.

Den første Kodeeksempel "sub-classe TBitBt"
Forstår jeg ikke rigtig, er hel på bare bund!
Er det en komponent?
Eller hvor skal dette indskrives?

Med venlig hilsen
Monie Jacobsen

energy@sunwind.dk

Hvis du tager udgangspunkt i præcis de eksempler jeg har skrevet kan du gøre således:
Fold kodeboks ind/udKode 


Ulempen ved at TMyBitBtn i dens nuværende form er at man skal oprette knapperne runtime, altså man skal skrive kode for at oprette dem. Man kan ikke sætte dem ind på formen. Det kræver at TMyBitBtn registreres som komponent.

Hvis du skal bruge mange af denne type knapper skal du derfor nok registrere knappen som komponent.

Hvis du uden videre vil registrer TMyBitBtn som komponent skal du kopiere koden over i en selvstændig unit. Her skal du så indsætte en særlig procedure som Delphi bruger til at finde ud af at registrere komponenten.
Fold kodeboks ind/udKode 


Så installerer du den fra menuen Component->Install Component

--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk


Tak Thomas Due

Flot! At du hjælper mig.
Jeg er jo i gang med, at lærer Delphi, derfor er det meget glædelig du hjælper hermed.

Vil nu arbejde med forslaget.

Med venlig hilsen
Monie Jacobsen

energy@sunwind.dk



t