webForumDet fria alternativet

Fånga musklick

Programmering

4 svar · 312 visningar · startad av Danny

Medlem sedan juli 200412 913 inlägg
Frågan#1

Jag har länge brottats med ett problem med min egna bildvisare, jag vet inte hur jag ska kunna få respons när jag klickar på tumnaglarna (thumbnails)?!

Strukturen är såhär. en FileListBox som håller redan på filnamnen, en ScrollBox som är utrymmet för att visa tumnaglarna på. Jag generar då TImage.Create(self) i ScrollBoxen med detta kommando Picture.LoadFromFile(FileListBox1.Items*). Kruxet är att detta görs när programmet körs, då om det finns några bilder i vald katalog, genereras tumnaglar och menyalternativ blir aktiva och sådär.

Men... jag har ingen aning om hur jag ska kunna fånga musklicken, jag har kollat runt på nätet och testat diverse lösningar, men eftersom jag inte är så bra på programmering så fungerar det inte alls... Men vad jag förstår finns två alternativ. Antingen har man någon allmän rutin för att fånga musklick, eller så skapar man en rutin för bara det objekt man klickar på. Har provat det, har satt TImage.Name till ett bra namn och gjort en procedur för det, men det funkar bara inte, någon som har nåt bra tips?*

Medlem sedan nov. 2003310 inlägg
#2

Lägg koden i TImage onclick event.
Skriv ditt eget onClick event och sedan när du skapar upp dina TImage tumnaglar så kopplar du ditt onClick event till tumnagels onClick event.
Bör se ut så här

minTumnagel := TImage.Create(Self);
minTumNagel.OnClick := MittOnClickEvent;

/Ante

Medlem sedan juli 200412 913 inlägg
#3

...du menar att jag skapar en publik/privat procedur som heter MittOnClickEvent, också stoppar jag in minTumNagel.OnClick i koden där jag ritar upp dom (i kodsnutten som bifogades med andra ord)?! ...ja jag ska ta och prova trixa lite med det där, har läst nånting om nån liknande lösning tidigare...

Medlem sedan nov. 2003310 inlägg
#4

yepp.

När användaren klickar på bilden så kommer onClick eventet att triggas vilket jag antar är det du vill uppnå.

Medlem sedan juli 200412 913 inlägg
#5

Ja... exakt! ...och nu har jag hunnit prova också... jag hade ju redan en privat procedur för att göra nåt, OM det hade funkat... så jag stoppade bara in OnClick:=MinProcedur i Image.Create processen där... så funkade det ju!!!!!!!!! ...fan så gott!!!!! ...oj, ursäkta språket... har missat den där biten när jag provat tidigare, det är inte bra att kolla upp för många lösningar på en gång, då blir det lätt lite rörigt... tur att vi lyckades få ordning på det! ...Tackar!!!!

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)