Szymon Tarnowski napisał: Błąd projektowy, focus ZAWSZE będzie trafiał do naciskanego klawisza.
To juz wiemy.
Cytat: Ja bym po prostu zapamiętywał które pole miał ostatni raz focus, najlepiej byłoby złapać komunikat o przejęciu focusu przez określone pole edycyjne.
Niestety nie takie to proste. Owszem po wykonaniu pętli:
Code: invoke GetFocus
and eax,eax
jz quit
; HWND->id
invoke GetWindowLong, eax, GWL_ID
quit:
Mogę zapamiętać uzyskany ID w jakiejś zmiennej. Tyle, że po naciśnięciu klawisza ta pętelka jest również wykonywana i do zmiennej trafia już ID tego klawisza. Najlepiej wrzucę gdzieś kawałek kodu, aby było o czym rozmawiać. Trochę to potrwa, bo cały tekst ma kilka tysięcy linii. Muszę go "odchudzić" do niezbędnego minimum.
Kalc.asm
0