Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: GetAsyncKeyState
 
 автор: Силblч   (25.01.2011 в 18:48)   личное сообщение
 
 

кто-то отслеживал нажатие Ctrl+C в компоненте VSFlexGrid?
или хотя бы просто нажатие комбинации клавиш?

поделитесь, плз, надежным способом отловить за одно нажатие - чёткое состояние комбинации Ctrl+C или Ctrl+V

  Ответить  
 
 автор: Силblч   (26.01.2011 в 09:37)   личное сообщение
 
 

[up]
так шо, голяк? или вопрос настолько простой, что вам стыдно мне помочь? :)

  Ответить  
 
 автор: osmor   (26.01.2011 в 09:58)   личное сообщение
 
 

если бы еще знать кто это такой этот VSFlexGrid

  Ответить  
 
 автор: Силblч   (26.01.2011 в 10:22)   личное сообщение
 
 

в принципе не важно, что это за приблуда :)
важно - как корректно и надёжно определить нажатие комбинации клавиш (не одной из, а комбинации) :)

пока вы ищете( ведь ищете же , да ?!) ответ на мой скромный вопрос, я тоже не сижу сложа руки и поделюсь решением

  Ответить  
 
 автор: snipe   (26.01.2011 в 10:46)   личное сообщение
 
 

http://msdn.microsoft.com/ru-ru/library/system.windows.forms.keyeventargs.aspx
это?

  Ответить  
 
 автор: Силblч   (26.01.2011 в 10:57)   личное сообщение
 
 

почти да :) но для VB
у мня акс2003

решил так :)

Private Sub GridData_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
    On Error GoTo err12345
    StateCtrl = GetAsyncKeyState(VK_CONTROL)
    StateC = GetAsyncKeyState(VK_C)
    If (StateCtrl And &H1) = &H1 And (StateC And &H1) = &H1 Then
        MsgBox "Control key + C pressed"
        exit sub
    End If
    Exit Sub
err12345:
    MsgBox Error, vbExclamation, "GD_KeyUP #" & Err.Number
    Exit Sub
End Sub


но можно было чуть проще...

  Ответить  
 
 автор: snipe   (26.01.2011 в 10:58)   личное сообщение
 
 

вот еще - народ вопрошает

http://am.rusimport.ru/msaccess/topic.aspx?ID=659

  Ответить  
 
 автор: Силblч   (26.01.2011 в 11:04)   личное сообщение
 
 

да, через хуки интересно, но непредсказуемо
в смысли - я попробовал - мне не понравилось :)
для моей задачи хуки не требуются
просто с ними проблема, если вешаться на клавиатуру

  Ответить  
 
 автор: Дядя Федор   (26.01.2011 в 12:41)   личное сообщение
 
 

Private Sub - частная подводная лодка?

  Ответить  
 
 автор: Силblч   (26.01.2011 в 12:57)   личное сообщение
 
 

ды в степях украины йилов саб Марин

  Ответить  
 
 автор: Дядя Федор   (26.01.2011 в 13:27)   личное сообщение
 
 

А ПРОСТО ЧЕМ НЕ ПОДХОДИТ?

If KeyCode = 67 And Shift = 2 Then MsgBox "pressed Ctrl/C"

Наверное, я че-го-то-не-до-по-нял....

  Ответить  
 
 автор: Дядя Федор   (26.01.2011 в 13:27)   личное сообщение
 
 

  Ответить  
 
 автор: Силblч   (26.01.2011 в 14:04)   личное сообщение
 
 

не работает
у меня

  Ответить  
 
 автор: AlexSyr   (26.01.2011 в 16:18)   личное сообщение
11 Кб.
 
 


Может свойство KeyPreview для формы не установлено?

Ну, а если API, то в инете советуют:
1. Хуки (http://allapi.mentalis.org/apilist/GetKeyState.shtml)
2. Хот Кей (http://allapi.mentalis.org/apilist/RegisterHotKey.shtml)
3. GetAsyncKeyState - нужно на таймер вешать (пробовал, но как то не понравилось)

  Ответить  
 
 автор: Силblч   (26.01.2011 в 18:00)   личное сообщение
 
 

спасибо :) я уже решил эту задачку. меня пока вполне устраивает.
я все эти решения опробовал, прежде чем вопрос задать :)

  Ответить  
 
 автор: Йожык   (03.07.2012 в 00:31)   личное сообщение
 
 

Я тут попалсо, девойчка на ctrl+"-" сподобилась понажимать.
Во накрутился перехватывать удаление записи...

  Ответить  
 
 автор: Скорп   (26.01.2011 в 19:15)   личное сообщение
 
 

А я не понял о чет тут говорят гуру
Но хотел обратить внимание, что кроме Ctrl+C и Ctrl+V есть еще CTRL+INS и SHIFT+INS

  Ответить  
 
 автор: Силblч   (26.01.2011 в 20:35)   личное сообщение
 
 

по-борландовски? :)

не уверен, что многие знают эту комбинацию ;)

  Ответить  
 
 автор: Дядя Федор   (27.01.2011 в 08:17)   личное сообщение
 
 

А я только ими и пользуюсь...

  Ответить  
 
 автор: Силblч   (27.01.2011 в 08:52)   личное сообщение
 
 

и я

  Ответить  
 
 автор: Скорп   (27.01.2011 в 11:06)   личное сообщение
 
 

так и я тока ими пользуюсь, поэтому и написал

  Ответить  
 
 автор: Силblч   (27.01.2011 в 17:51)   личное сообщение
 
 

просто добавь воды

    StateIns = GetAsyncKeyState(vbKeyInsert)
    If ((StateCtrl And &H1) = &H1 And (StateC And &H1) = &H1) Or _
        ((StateCtrl And &H1) = &H1 And (StateIns And &H1) = &H1) Then


  Ответить  
 
 автор: Lukas   (27.01.2011 в 19:22)   личное сообщение
 
 

Губит людей не пиво,
Губит людей вода! :)

  Ответить  
 
 автор: silich   (25.06.2012 в 18:09)   личное сообщение
 
 

а из єкселя в грид - не работаит,ска

а вот так работаит
http://helpcentral.componentone.com/nethelp/vsflexgrid8/default.htm?turl=step7clipboardsupport.htm

ффух

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList