Cum de a regla schimbarea culorii dinamice a butoanelor folosind vba - trucuri și trucuri în Microsoft Excel

Să analizăm încă un exemplu, care din nou va fi legat de reacția la mișcarea mouse-ului. Vom poziționa butonul de pe foaie și vom face ca atunci când mutați cursorul mouse-ului în zona butonului, culoarea sa se va schimba. Funcționalitatea ar trebui să fie după cum urmează:







  • Când cursorul mouse-ului este poziționat în partea stângă sus a butonului, culoarea acestuia trebuie să fie roșie;
  • Când cursorul este poziționat în partea dreaptă sus a butonului, culoarea butonului trebuie să fie verde;
  • dacă cursorul este în partea din stânga jos - butonul trebuie să fie albastru;
  • Când cursorul este poziționat în partea din dreapta jos, butonul trebuie să devină gri.

Pentru a implementa efectul dorit, vom formaliza procedura de reacție la mișcarea mouse-ului, după cum se arată în Lista 1.17. După cum puteți vedea din textul procedurii, C1 este folosit pentru proprietatea Nume a butonului.

"Lista 1.17. Procedura pentru realizarea unui buton dinamic schimbare de culoare Private Sub C1_MouseMove (buton ByVal Ca Integer, ByVal Shift Ca Integer, ByVal X Ca unic, ByVal Y Ca unic) În cazul în care X C1.Width / 2 Și Y C1.Height / 2 Atunci C1.BackColor - RGB (0, 0, 255) Altfel C1.BackColor - RGB (190, 190, 190) Sfarsit Daca Sfarsitul Sub







Aici, RGB este o funcție Visual Basic care vă permite să setați culoarea unui obiect ca o combinație a celor trei culori primare roșu, verde și albastru. Intensitățile fiecăreia dintre aceste culori primare sunt specificate ca trei parametri de intrare. În acest caz, valoarea minimă a intensității culorii egal cu 0 (în acest caz, în culoare compozit componenta de culoare activă nu este pur și simplu disponibil), iar linia maximă 255. În intensitatea maximă predeterminată luate în considerare pentru componentele roșu și verde și lipsa culorii albastre. Cu o combinație similară a acestor trei culori de bază, butonul va fi roșu.

Să continuăm examinarea textului procedurii menționate în listă. În cazul în care prima condiție nu este îndeplinită, programul trece pentru a verifica a doua condiție: ELSEIF X> C1.Width / 2 și Y. Dacă deține, apoi setați culoarea verde a butonului: C1.BackColor - RGB (0, 255, 0). Și dacă a doua condiție nu este îndeplinită, a treia condiție este verificată: ELSEIF X C1.Height / 2 Apoi.







Articole similare

Trimiteți-le prietenilor: