Creați butoane din timage utilizând parametrul expeditor, parsarea și delphi

Creați butoane din timage utilizând parametrul expeditor, parsarea și delphi

Acum un an și jumătate am scris un astfel de articol pe un forum, pe un blog nu există niciunul. Datorita faptului ca in aceasta saptamana am ridicat tema utilizarii Sender: TObject si a operatorilor ca si cum este. O să semnez din nou aici și acum :)

Folosim TImage, la fel de multe TImage cum ai nevoie de butoane.

Pregătirea

Butoanele noastre vor avea trei stări - presate, nu apăsate, active (induse de mouse).
Pregătiți trei imagini în avans pentru aceste trei stări și plasați-le în dosarul programului.
Creați constante cu numele imaginilor noastre:

Trebuie să le schimbăm, ne pregătim:

Aici vom trece numele fișierului imagine (din constantele create) la funcția și o indicație a TImage cu care să creați acest lucru.

Deci, să punem acum pe formularul Image1, să creeze următorii agenți de procesare a evenimentelor:

Aici totul este clar (sper): când este presat, apăsat, plutind cu mouse-ul. Dar cum rămâne cu mouse-ul?

Da, cu un TImage care lucrează la ura. Doar aici se mișcă când te miști cu mouse-ul, e rău, nu-i așa?

Apoi adăugăm încă patru constante:

Unde le vom asocia? Incorect, la proprietatea tag-ului TImage, este rezervată special pentru astfel de cazuri de incendiu.

Deodată voi obține codul modificat:

Acesta este momentul ... când trebuie să ne mutăm de la un Imagine1 la orice TImage pe care sa întâmplat evenimentul. Dacă ați citit blogul meu, știți deja că trebuie să înlocuiți Image1 cu (Sender as TImage) în toate manipulatoarele de evenimente pentru Image1.

Și ce să faceți atunci când mutați mouse-ul într-o formă? Exact, este necesar să se rezolve toate componentele TImage pe formular, utile, apropo, calificare:

Se pare că totul este clar și clar, pot să scriu despre acest lucru mai târziu într-un post separat.

Ei bine, să atribuim evenimente la începutul formularului:

Acum, indiferent de câte TImage am creat în proiect, vom avea atât de multe butoane :)

Creați butoane din timage utilizând parametrul expeditor, parsarea și delphi

Știați că Google este hippie? Mai ales la începutul dimineții :)

Uneori trebuie să conectați Internetul. dar există probleme - mulți furnizori, diferite tarife - cum să alegi? Dacă sunteți în Moscova, utilizați link-ul de mai sus.

Multe mulțumiri. Mi-am luat creierul peste beatbattons și png. Dar sa dovedit doar așa. Singurul lucru pe care nu l-am înțeles a fost cum să generalizați toate butoanele, astfel încât s-au folosit diferite png-uri. Ca rezultat, am repetat cea mai mare parte a codului pentru cel de-al doilea buton, restul fiind strâns în acest loc unde era posibil.
Totul funcționează și acest lucru este important. Vă mulțumim din nou.

În ceea ce privește viteza - în curând voi transfera la un alt hosting.
Gennady, așa de frumos, din acest motiv scrieți într-un alt post?)