Воскресенье, 11 Ноября 2018 г. 16:24
+ в цитатник
всем доброе время суток.
поправьте пожалуйста что делаю нет так. вроде все просто, пишу
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Call procПерехватКлавиш(KeyCode, Shift, Form.Name)
End Sub
Public Sub procПерехватКлавиш(KeyCode As Integer, Shift As Integer, frmname As String)
If KeyCode = vbKeyS And Shift = acCtrlMask Then
MsgBox "CTRL+S" 'вставил для проверки работы
DoCmd.Save acForm, frmname
End If
End Sub
пробегаю отладчиком, получается, что как только CTRL нажимаешь, то событие уже срабатывает и "хватает" только CTRL (ну или то что раньше нажмешь), соответственно, дальше по условию не срабатывает то, что нужно. Если повесить на KeyUp, то корректно работает, но как-то "непревычно", что надо отпустить кнопку, вместо того, чтобы нажать. Непойму в чем туплю, вроде все просто, несколько часов уже мудрю и что-то никак. Глянул примеры с VB, VBA - вроде все верно.
Подскажите в чем "затуп"?
Заранее спасибо
https://www.sql.ru/forum/1305187/perehvat-ctrl-s
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-