13. oktober 2001 - 11:09Der er
6 kommentarer og 2 løsninger
TImage skal skifte icon ved OnMouseMove
Jeg har et lille problem....
Jeg er helt ny indenfor delphi og bliver bare og mere forvirret over de eksempler som er er i delphi hjælp... Jeg behøver hjælp....
Mission: Ved en OnMouseMove event på Panel6 skal jeg have Timage til at skifte icon(TIcon???).... Iconet skal hentes fra en fil. Jeg har forsøgt med LoadFromFile....men jeg gør det vist forkert....
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
RETTELSE: Ved en OnMouseMove event på Panel6 skal jeg have Image1 til at skifte icon(TIcon???).... Iconet skal hentes fra en fil. Jeg har forsøgt med LoadFromFile....men jeg gør det vist forkert....
Generelt skal jeg bruge koden for at få et TImage til at skifte et et andet Icon som den henter fra en fil.....
Et panel har ikke et event kaldet onmouseover eller onmouse leave, som ellers ville være rart. Det vil nok også være for svært for dig som begynder at lave den event selv.
//Men du kunne jo istedet gøre sådan her: procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Image1.Picture.LoadFromFile(\'C:\\mitbilled.bmp\'); end;
//Og så på den component du har bag det andet panel, sætte den til at loade et andet billed: procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Image1.Picture.LoadFromFile(\'C:\\mitandetbilled.bmp\'); end;
Eller skulle du jo bare sige at du godt kunne tænke dig et paneler med de andre events på :)
Hvis det er et panel med kanpper du vil lave findes der en langt smartere løsning, hvor du loader dine billeder ind i en TImagelist, og så henter dem derfra.
procedure Register; begin RegisterComponents(\'Samples\', [TNewXpanel]); end;
{ TNewXpanel }
procedure TNewXpanel.CMMouseEnter(var Message: TMessage); begin inherited; if Assigned(FOnMouseEnter) then FOnMouseEnter(Self); end;
procedure TNewXpanel.CMMouseLeave(var Message: TMessage); begin inherited; if Assigned(FOnMouseLeave) then FOnMouseLeave(Self); end; end.
//****************************
Prøv at installere den, den vil være under samples. Du kan jo så prøve den fx. sådan:
procedure TForm1.NewXpanel1MouseLeave(Sender: TObject); begin caption := \'Cursor Inde\'; end;
procedure TForm1.NewXpanel1MouseEnter(Sender: TObject); begin caption := \'Cursor Væk\'; end;
//Dennis
Synes godt om
Ny brugerNybegynder
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.