Excel vba userform comandă culoare buton

Acesta este numărul. În cele din urmă. DA DA DA. Puțină emoție, domnilor. Cotul în jos, genunchiul sus - esește, berea lui și mișcă fără rost mouse-ul pe ecran.







O întrebare elementară, făcută pentru a sparge creierul nu o zi.
Aceasta este o sarcină simplă pentru vizualizarea interfeței utilizator a unui program auto-scris în VBA în Excel.
A trebuit să scriu un program pentru a simplifica activitatea depozitului.
A elaborat un algoritm, a stabilit forme de documente. Introducerea simplificată a datelor la un nivel minim.
A început cele mai interesante - interfața cu utilizatorul.
Totul este elementar. Butoanele mari, pentru a nu fi etichetate în ele în modul lunetist.
Inscripții simple, ușor de înțeles. Se pare că totul este în vigoare.

Atunci vreau frumusețe și claritate. Ca și în cele mai bune case.
Ideea este simplă și a fost mult timp folosit: butonul de sub cursorul mouse-ului trebuie să fie alocate culoarea, dimensiunea fontului, și într-un fel există încă, într-un fel, asta a fost evidentă.
Iată cum se întâmplă așa ceva:

Întrerupeți în redare la 12-13 secunde este jurnalul de la distanță desktop.

Programatorul am una, eu nu pot spune, doar copia de undeva HELP, sau cineva de pe Internet pentru a spiona idee, plus curs școală de bază.

Dar aici e efectul pe butoanele, nu forțați să rupă o Yandex și nimic și nicăieri a constatat, cu excepția cuvinte ceea ce înseamnă că VBA nu este atât de ușor de făcut. Poate că nu am arătat așa, dar n-am găsit-o.







Da, și scuipați și uitați, dificile și greoaie? Este necesar să se conecteze bibliotecile din Windows, și imediat o minus în compatibilitate. Dar nu - este la fel ca VBA în sine.

A fost necesar să gândim și să nu rezolvăm căile obișnuite pentru mine. Calcularea coordonatelor cursorului mouse-ului, determinarea intervalelor pentru butoane - toate acestea sunt nonsens. Din cauza caracteristicilor VBA, urmărirea coordonatelor mouse-ului este neuniformă și depinde puternic de viteza de mișcare. Prin urmare, nu funcționează în mod normal. Rămâne artefacte sub formă de butoane care nu sunt redesenate sau sub formă de desen, așa cum ar trebui. Stricat și stângaci.

Apoi am decis să încerc metoda setfocus pentru butonul de comandă. Acesta este momentul când pe butonul activ apare un cadru gri. După cum sa dovedit, funcționează. Puteți să mutați mouse-ul oricum. Rapidă, lentă, netedă, jerky, fără mouse-ul - de la săgețile tastaturii. Dar cel mai important lucru este că setfocus funcționează întotdeauna pe obiectul în care este înregistrat în evenimentul mousemove. Firește, la obiect, în principiu, se aplică setfocus.

Pentru butonul de comandă și alte obiecte de utilizare, setfocus este perfect aplicabil. Când poziționați mouse-ul indicatorul mouse-ului pe buton apare cadru prețios, apoi butonul este acum selectat și activ.

Și asta e tot. Toate acestea indică faptul că butonul va declanșa acum ieșirea și va introduce evenimente. Folosind evenimentele cu trei butoane: mousemove, exit și enter, puteți particulariza aspectul vizual așa cum doriți.
Faceți setfocus pe butonul de comandă din mousemove. Apoi, la intrare (enter), facem mai strălucitor, iar la ieșire (ieșire) este mai ușor.

Modificați culoarea butonului de comandă pe formularul de utilizator în timp ce plasați mouse-ul în Excel? E ușor.







Articole similare

Trimiteți-le prietenilor: