sądząc po tym jak długo nie ma odpowiedzi na prawdopodobnie proste pytanie
Bo byłem na delegacji :P
Sam nie wiem co Ty kombinujesz... Jeżeli chcesz zrobić podobny efekt jak jest np. w windowsowskim kalkulatorze to po co symulujesz wciśnięcie klawiszy? Przecież nie musisz tego robić; Jest kilka sposobów na rozwiązanie tego problemu (pod warunkiem, że ja z kolei zrozumiałem dobrze o co chodzi);
Jeżeli chcesz dopisywać do pól jakieś wartości, to możesz zrobić to na zasadzie przypisywania:
procedure btn1Click(Sender: TObject)
begin
edtStawka1.Text := edtStawka1.Text + '1';
end;
Coś w ten deseń; Ale to nie załatwia całej sprawy, bo musisz wiedzieć do którego pola masz wpisywać dane; W kalkulatorze systemowym masz jedno pole edycyjne, więc wiadomo do którego będą wprowadzane informacje; Ty masz dwa, więc trzeba będzie gdzieś przechować tą informacje; ActiveControl
odpada, bo w momencie kliknięcia na przycisk on staje się aktywny (metoda ta sprawdza się fajnie podczas wywoływania jednego PopupMenu
przypisanego dla wielu pól edycyjnych);
Musisz napisać coś więcej na ten temat, wtedy prawdopodobnie uzyskasz masę przydatnych informacji;
Jednak sprawdza się ona tylko do jednego okna memo1 a nie działa dla dowolnego...
Działa dla dowolnego, ale musi być w momencie symulowania wciśnięcia klawisza aktywne; Dla przykładu: jeżeli masz w swoim programie aktywny dany edit i zasymulujesz wciśnięcie klawisza A
- zostanie do niego wpisane bez żadnego problemu; To tyczy się wszystkich komponentów, które "reagują" na naciskane klawisze; Zostanie wykonane to, co wykonało by się gdybyś normalnie wcisnął przycisk na klawiaturze; Ale tu to nie przejdzie, bo jeśli klikniesz na przycisk to oczywiście klawisz zostanie zasymulowany, ale przycisk stanie się w tym momencie aktywny i zareaguje na klawisze Enter
i Spację
- czyli zostanie po prostu wciśnięty (lub jeżeli w Caption
przycisku jest znak &
- wtedy po wciśnięciu klawisza odpowiadającego podkreślonej literce zostanie wywołane zdarzenie OnClick
tegoż button'a);