|
폼을 여러개 동시에 띄운 상태에서 핫키를 등록하려고 합니다.
메뉴는 사용하지 않습니다.
TActionList에 Action을 만들고 핫키를 등록하려니까 Ctrl + '+'는 등록할 수 없는 것 같더군요.
RegisterHotKey함수는 복잡해서 왠만하면 피할라고 했구요.
그래서 생각한 것이
TApplicationEvents의 ShortCut이벤트인데요.
void __fastcall TfrmPicLoader::ApplicationEvents1ShortCut(TWMKey &Msg,
bool &Handled)
{
bool bCTRL = ::GetAsyncKeyState(VK_CONTROL);
// bool bCTRL = (Msg.KeyData & (1 << 24)) == (1 << 24); // why not work ?
switch(Msg.CharCode)
{
case VK_ESCAPE:
// 선택 취소
SelectAll(false);
Handled = true;
break;
case '=': // 이넘이 Ctrl + '+'할 넘?
...
}
}
여기서 어떻게 코드를 써야 Ctrl + '+'를 디텍팅할 수 있을까요??
GetAsyncKeyState는 정상적인 방법이 아닌 것 같아서요..
도와주세엽!!
|