当前位置: 首页>>代码示例>>C++>>正文


C++ wxKeyEvent::StopPropagation方法代码示例

本文整理汇总了C++中wxKeyEvent::StopPropagation方法的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent::StopPropagation方法的具体用法?C++ wxKeyEvent::StopPropagation怎么用?C++ wxKeyEvent::StopPropagation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wxKeyEvent的用法示例。


在下文中一共展示了wxKeyEvent::StopPropagation方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnChar

void MainSequencer::OnChar(wxKeyEvent& event)
{
    wxChar uc = event.GetUnicodeKey();

    KeyBinding *binding = keyBindings.Find(uc);
    if (binding != NULL) {
        event.StopPropagation();
        switch (binding->GetType()) {
            case TIMING_ADD:
                InsertTimingMarkFromRange();
                break;
            case TIMING_SPLIT:
                SplitTimingMark();
                break;
            case KEY_ZOOM_IN:
                PanelTimeLine->ZoomIn();
                break;
            case KEY_ZOOM_OUT:
                PanelTimeLine->ZoomOut();
                break;
            case RANDOM_EFFECT:
                PanelEffectGrid->Paste("Random\t\t\n");
                break;
            case EFFECT_STRING:
                PanelEffectGrid->Paste(binding->GetEffectName() + "\t" + binding->GetEffectString() + "\t\n");
                break;
        }
    }
    //printf("OnChar %d   %c\n", uc, uc);
    switch(uc)
    {
        case 'c':
        case 'C':
        case WXK_CONTROL_C:
            if (event.CmdDown() || event.ControlDown()) {
                CopySelectedEffects();
                PanelEffectGrid->SetCanPaste();
                event.StopPropagation();
            }
            break;
        case 'x':
        case 'X':
        case WXK_CONTROL_X:
            if (event.CmdDown() || event.ControlDown()) {
                CopySelectedEffects();
                PanelEffectGrid->DeleteSelectedEffects();
                event.StopPropagation();
            }
            break;
        case 'v':
        case 'V':
        case WXK_CONTROL_V:
            if (event.CmdDown() || event.ControlDown()) {
                Paste();
                event.StopPropagation();
            }
            break;

    }
}
开发者ID:ebrady1,项目名称:xLights,代码行数:60,代码来源:MainSequencer.cpp

示例2: OnKeyDown

void AbstractWindow::OnKeyDown(wxKeyEvent& event)
{
	if (!app_)
		return;

#ifdef __WXGTK__
	app_->Test(event.GetKeyCode());
#else
	event.StopPropagation();
#endif
}
开发者ID:rayburgemeestre,项目名称:SuperMouser,代码行数:11,代码来源:abstractwindow.cpp

示例3: OnKeyUpEvent

void HotkeyCtrl::OnKeyUpEvent(wxKeyEvent& e)
{
	switch(e.GetKeyCode())
	{
		case WXK_WINDOWS_LEFT:
		case WXK_WINDOWS_RIGHT:
			WinDown = false;
			e.StopPropagation();
			return;
	}
	e.Skip();
}
开发者ID:EnumaxElish,项目名称:ALMRun,代码行数:12,代码来源:HotkeyCtrl.cpp

示例4: OnCharHook

void AssistPanel::OnCharHook(wxKeyEvent& event)
{
    if( mEffect != NULL )
    {
        if( mEffect->GetEffectIndex() == EffectManager::eff_PICTURES )
        {
            wxChar uc = event.GetUnicodeKey();
            switch(uc)
            {
                case 'c':
                case 'C':
                case WXK_CONTROL_C:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Copy();
                        }
                        event.StopPropagation();
                    }
                    break;
                case 'v':
                case 'V':
                case WXK_CONTROL_V:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Paste();
                        }
                        event.StopPropagation();
                    }
                    break;
                default:
                    event.Skip();
                    break;
            }
        }
    }
}
开发者ID:rickcowan,项目名称:xLights,代码行数:38,代码来源:AssistPanel.cpp

示例5: OnPreKeyUp

bool ShortcutChordCtrl::OnPreKeyUp(wxKeyEvent& event) {
	int id = event.GetKeyCode();

	// Ignore initial presses on modifier keys
	if (id == WXK_SHIFT || id == WXK_ALT || id == WXK_CONTROL ||
		id == WXK_WINDOWS_LEFT || id == WXK_WINDOWS_RIGHT)
	{
		return false;
	}

	int modifiers = event.GetModifiers();
	
#ifdef __WXMSW__
	// GetModifiers does not report the windows keys
	if (::GetKeyState(VK_LWIN) < 0) modifiers |= 0x0008; // wxMOD_META (Left Windows key)
	if (::GetKeyState(VK_RWIN) < 0) modifiers |= 0x0008; // wxMOD_META (Right Windows key)
#endif

	wxString binding = CodeToString(id, modifiers);

	wxString value = GetValue();
	if(value.Contains(wxT(" "))) {
		value = wxT("");
	}

	if(!value.empty()) {
		value = wxString::Format(wxT("%s %s"), value, binding);
	} else {
		value = binding;
	}

	m_binding = value;
	SetValue(value);

	event.StopPropagation();

	// wxLogDebug(wxT("Binding: %s"), m_binding.c_str());
	return true;
}
开发者ID:archmatrix,项目名称:e,代码行数:39,代码来源:ShortcutChordCtrl.cpp

示例6: OnKeyDownEvent

void HotkeyCtrl::OnKeyDownEvent(wxKeyEvent& e)
{
	e.StopPropagation();
	int code = e.GetKeyCode();
	if (code == WXK_WINDOWS_LEFT || code == WXK_WINDOWS_RIGHT)
	{
		WinDown = true;
		return;
	}
	if (code == WXK_NONE || code == WXK_SHIFT || code == WXK_ALT || code == WXK_CONTROL)
		return;
	if (code == WXK_DELETE)
	{
		this->Clear();
		return;
	}
	wxString key;
	if (code > 32 && code < 127)
		key.Append(e.GetUnicodeKey());
	else
		key = g_keys.GetKeyString(code);
	if (key.empty())
		return;
	if (e.HasModifiers())
	{
		int Modifers = e.GetModifiers();
		if (Modifers & wxMOD_ALT)
			key.insert(0,"Alt+");
		if (Modifers & wxMOD_CONTROL)
			key.insert(0,"Ctrl+");
		if (Modifers & wxMOD_SHIFT)
			key.insert(0,"Shift+");
	}
	if (WinDown)
		key.insert(0,"Win+");
	this->SetValue(key);
}
开发者ID:EnumaxElish,项目名称:ALMRun,代码行数:37,代码来源:HotkeyCtrl.cpp

示例7: OnCharHook

void MainSequencer::OnCharHook(wxKeyEvent& event)
{
    wxChar uc = event.GetKeyCode();
    //printf("OnCharHook %d   %c\n", uc, uc);
    switch(uc)
    {
        case WXK_BACK:
        case WXK_DELETE:
            PanelEffectGrid->DeleteSelectedEffects();
            event.StopPropagation();
            break;
        case WXK_SPACE:
            {
                wxCommandEvent playEvent(EVT_TOGGLE_PLAY);
                wxPostEvent(mParent, playEvent);
            }
            event.StopPropagation();
            break;
        case WXK_UP:
            PanelEffectGrid->MoveSelectedEffectUp(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_DOWN:
            PanelEffectGrid->MoveSelectedEffectDown(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_LEFT:
            PanelEffectGrid->MoveSelectedEffectLeft(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_RIGHT:
            PanelEffectGrid->MoveSelectedEffectRight(event.ShiftDown());
            event.StopPropagation();
            break;
        default:
            event.Skip();
            break;
    }
}
开发者ID:ebrady1,项目名称:xLights,代码行数:39,代码来源:MainSequencer.cpp

示例8: OnKeyUp

void wxSFMLCanvas::OnKeyUp(wxKeyEvent &evt) { evt.StopPropagation(); }
开发者ID:Lizard-13,项目名称:GD,代码行数:1,代码来源:wxSFMLCanvas.cpp

示例9: OnKeyUp

void AbstractWindow::OnKeyUp(wxKeyEvent& event)
{
#ifndef __WXGTK__
	event.StopPropagation();
#endif
}
开发者ID:rayburgemeestre,项目名称:SuperMouser,代码行数:6,代码来源:abstractwindow.cpp


注:本文中的wxKeyEvent::StopPropagation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。