Пример #1
0
void InitDialogHotKey(HWND hwnd, LPARAM lparam)
{
	SW_TSTATUS_LOG(CenterWindow(g_dlgData.hwndMainMenu, hwnd));

	g_hkdata = (DlgHotKeyData*)lparam;

	g_hkdata->hwnd = hwnd;

	std::wstring sKeyRevert;
	g_hkdata->keyDefault.ToString(sKeyRevert);
	SetDlgItemText(hwnd, IDC_RADIO_DEFAULT, sKeyRevert.c_str());

	KeyToDlg(g_hkdata->keyRevert, IDC_EDIT_BREAK, hwnd);

	g_hkdata->oldEditBreakProc = (WNDPROC)SetWindowLongPtr(
		GetDlgItem(hwnd, IDC_EDIT_BREAK),
		GWLP_WNDPROC,
		(LONG_PTR)EditBreakProc);

	SW_WINBOOL_LOG(g_hkdata->oldEditBreakProc != NULL);
	g_hkdata->hwndEditRevert = GetDlgItem(hwnd, IDC_EDIT_BREAK);

	
	if(g_hkdata->keyRevert == g_hkdata->keyDefault)
	{
		SetRadio(IDC_RADIO_DEFAULT, hwnd);
	}
	else if (g_hkdata->keyRevert.IsEmpty())
	{
		SetRadio(IDC_RADIO_CLEAR, hwnd);
	}
	else
	{
		SetRadio(IDC_RADIO_TYPE, hwnd);
	}

	CheckDlgButton(hwnd, IDC_CHECK_LEFTRIGHT, g_hkdata->keyRevert.GetLeftRightMode() ? BST_CHECKED : BST_UNCHECKED);
	SetFocus(GetDlgItem(hwnd, IDC_EDIT_BREAK));
	

	CAutoHMODULE hModUser;
	if (!IsWindowsVistaOrGreater())
	{
		hModUser = LoadLibrary(L"user32.dll");
	}
	g_hkdata->hHookKeyGlobal = ntapi::SetWindowsHookEx(WH_KEYBOARD_LL, &LowLevelKeyboardProc, hModUser, 0);
	SW_WINBOOL_LOG(g_hkdata->hHookKeyGlobal.IsValid());
}
Пример #2
0
LRESULT CALLBACK EditBreakProc(HWND hEdit, UINT msg, WPARAM wParam, LPARAM lParam)
{
	if (msg == c_MSG_TypeHotKey)
	{
		TKeyCode vkCode = (TKeyCode)lParam;
		KeyState state = GetKeyState(wParam);
		if (state != KEY_STATE_DOWN)
			return 0;
		if(CHotKey::Normalize(vkCode) == VK_MENU && g_hkdata->fAltDisable)
		{
			MessageBox(g_hkdata->hwnd, GetMessageById(AM_4), SW_PROGRAM_NAME_L, MB_ICONINFORMATION);
		}
		else
		{
			if (g_hkdata->keyRevert.HasKey(vkCode, true))
			{
				g_hkdata->keyRevert.Remove(vkCode);
			}
			else
			{
				g_hkdata->keyRevert.Add(vkCode, CHotKey::ADDKEY_ENSURE_ONE_VALUEKEY);
			}
			SetRadio(IDC_RADIO_TYPE, g_hkdata->hwnd);
			g_hkdata->keyRevert.SetLeftRightMode(SendDlgItemMessage(g_hkdata->hwnd, IDC_CHECK_LEFTRIGHT, BM_GETCHECK, 0, 0) == BST_CHECKED);
			KeyToDlg(g_hkdata->keyRevert, IDC_EDIT_BREAK, g_hkdata->hwnd);

		}
		return 0;
	}
	return CallWindowProc(g_hkdata->oldEditBreakProc, hEdit, msg, wParam, lParam);
}
Пример #3
0
//--------------------------------------------------------
// Localizes and initializes the radio buttons and group
static void InitializeExtendedDialog(HWND hdlg, int16_t aHowToEnableFrameUI) 
{
  MOZ_ASSERT(aHowToEnableFrameUI != nsIPrintSettings::kFrameEnableNone,
             "should not be called");

  // Localize the new controls in the print dialog
  nsCOMPtr<nsIStringBundle> strBundle;
  if (NS_SUCCEEDED(GetLocalizedBundle(PRINTDLG_PROPERTIES, getter_AddRefs(strBundle)))) {
    int32_t i = 0;
    while (gAllPropKeys[i].mKeyStr != nullptr) {
      SetText(hdlg, gAllPropKeys[i].mKeyId, strBundle, gAllPropKeys[i].mKeyStr);
      i++;
    }
  }

  // Set up radio buttons
  if (aHowToEnableFrameUI == nsIPrintSettings::kFrameEnableAll) {
    SetRadio(hdlg, rad4, false);  
    SetRadio(hdlg, rad5, true); 
    SetRadio(hdlg, rad6, false);
    // set default so user doesn't have to actually press on it
    gFrameSelectedRadioBtn = rad5;

  } else { // nsIPrintSettings::kFrameEnableAsIsAndEach
    SetRadio(hdlg, rad4, false);  
    SetRadio(hdlg, rad5, false, false); 
    SetRadio(hdlg, rad6, true);
    // set default so user doesn't have to actually press on it
    gFrameSelectedRadioBtn = rad6;
  }
}
Пример #4
0
void TEditHWInfoForm::Go(int BlockNo, int Mx, int My)
{
        struct TZXHWInfo *p;
        int Blocks;

        Top = My - Height/2;
        Left = Mx - Width/2;
        if (Top<0) Top=0;
        if (Left<0) Left=0;
        if (Left+Width > Screen->Width) Left = Screen->Width - Width;
        if (Top+Height > Screen->Height) Top = Screen->Height - Height;

        RadioButton4->Checked=true; RadioButton8->Checked=true; RadioButton12->Checked=true; RadioButton16->Checked=true;
        RadioButton20->Checked=true; RadioButton24->Checked=true; RadioButton84->Checked=true;
        RadioButton28->Checked=true; RadioButton32->Checked=true; RadioButton40->Checked=true; RadioButton44->Checked=true;
        RadioButton48->Checked=true; RadioButton52->Checked=true; RadioButton56->Checked=true; RadioButton60->Checked=true;
        RadioButton64->Checked=true; RadioButton68->Checked=true; RadioButton72->Checked=true; RadioButton76->Checked=true;

        Blocks=TZXFile.Tape[BlockNo].Head.HWType.NoTypes;
        p=TZXFile.Tape[BlockNo].Data.HWTypes;

        while(Blocks)
        {
                switch(p->Type)
                {
                case 0:
                        switch(p->ID)
                        {
                        case 0x0C: SetRadio(p->Information, RadioButton1, RadioButton2, RadioButton3, RadioButton4); break;
                        case 0x0D: SetRadio(p->Information, RadioButton5, RadioButton6, RadioButton7, RadioButton8); break;
                        case 0x2A: SetRadio(p->Information, RadioButton9, RadioButton10, RadioButton11, RadioButton12); break;
                        case 0x2B: SetRadio(p->Information, RadioButton13, RadioButton14, RadioButton15, RadioButton16); break;
                        case 0x2C: SetRadio(p->Information, RadioButton17, RadioButton18, RadioButton19, RadioButton20); break;
                        case 0x2D: SetRadio(p->Information, RadioButton21, RadioButton22, RadioButton23, RadioButton24); break;
                        case 0x1A: SetRadio(p->Information, RadioButton81, RadioButton82, RadioButton83, RadioButton84); break;
                        default: break;
                        }
                        break;

                case 0x02:
                        switch(p->ID)
                        {
                        case 0x07: SetRadio(p->Information, RadioButton25, RadioButton26, RadioButton27, RadioButton28); break;
                        case 0x08: SetRadio(p->Information, RadioButton29, RadioButton30, RadioButton31, RadioButton32); break;
                        case 0x09: SetRadio(p->Information, RadioButton37, RadioButton38, RadioButton39, RadioButton40); break;
                        case 0x0A: SetRadio(p->Information, RadioButton41, RadioButton42, RadioButton43, RadioButton44); break;
                        default: break;
                        }
                        break;

                case 0x03:
                        switch(p->ID)
                        {
                        case 0x0A: SetRadio(p->Information, RadioButton45, RadioButton46, RadioButton47, RadioButton48); break;
                        case 0x0B: SetRadio(p->Information, RadioButton49, RadioButton50, RadioButton51, RadioButton52); break;
                        case 0x0C: SetRadio(p->Information, RadioButton53, RadioButton54, RadioButton55, RadioButton56); break;
                        case 0x0D: SetRadio(p->Information, RadioButton57, RadioButton58, RadioButton59, RadioButton60); break;
                        default: break;
                        }
                        break;

                case 0x10:
                        switch(p->ID)
                        {
                        case 0x00: SetRadio(p->Information, RadioButton61, RadioButton62, RadioButton63, RadioButton64); break;
                        case 0x01: SetRadio(p->Information, RadioButton65, RadioButton66, RadioButton67, RadioButton68); break;
                        case 0x02: SetRadio(p->Information, RadioButton69, RadioButton70, RadioButton71, RadioButton72); break;
                        case 0x03: SetRadio(p->Information, RadioButton73, RadioButton74, RadioButton75, RadioButton76); break;
                        default: break;
                        }
                        break;

                default: break;
                }
                p++;
                Blocks--;
        }

        ActiveControl=OK;
        ShowModal();

        p=NULL;
        Blocks=0;

        GetRadio(&p, &Blocks, 0, 0x0C, RadioButton1, RadioButton2, RadioButton3, RadioButton4);
        GetRadio(&p, &Blocks, 0, 0x0D, RadioButton5, RadioButton6, RadioButton7, RadioButton8);
        GetRadio(&p, &Blocks, 0, 0x2A, RadioButton9, RadioButton10, RadioButton11, RadioButton12);
        GetRadio(&p, &Blocks, 0, 0x2B, RadioButton13, RadioButton14, RadioButton15, RadioButton16);
        GetRadio(&p, &Blocks, 0, 0x2C, RadioButton17, RadioButton18, RadioButton19, RadioButton20);
        GetRadio(&p, &Blocks, 0, 0x2D, RadioButton21, RadioButton22, RadioButton23, RadioButton24);
        GetRadio(&p, &Blocks, 0, 0x1A, RadioButton81, RadioButton82, RadioButton83, RadioButton84);

        GetRadio(&p, &Blocks, 2, 0x07, RadioButton25, RadioButton26, RadioButton27, RadioButton28);
        GetRadio(&p, &Blocks, 2, 0x08, RadioButton29, RadioButton30, RadioButton31, RadioButton32);
        GetRadio(&p, &Blocks, 2, 0x09, RadioButton37, RadioButton38, RadioButton39, RadioButton40);
        GetRadio(&p, &Blocks, 2, 0x0A, RadioButton41, RadioButton42, RadioButton43, RadioButton44);

        GetRadio(&p, &Blocks, 3, 0x0A, RadioButton45, RadioButton46, RadioButton47, RadioButton48);
        GetRadio(&p, &Blocks, 3, 0x0B, RadioButton49, RadioButton50, RadioButton51, RadioButton52);
        GetRadio(&p, &Blocks, 3, 0x0C, RadioButton53, RadioButton54, RadioButton55, RadioButton56);
        GetRadio(&p, &Blocks, 3, 0x0D, RadioButton57, RadioButton58, RadioButton59, RadioButton60);

        GetRadio(&p, &Blocks, 0x10, 0x00, RadioButton61, RadioButton62, RadioButton63, RadioButton64);
        GetRadio(&p, &Blocks, 0x10, 0x01, RadioButton65, RadioButton66, RadioButton67, RadioButton68);
        GetRadio(&p, &Blocks, 0x10, 0x02, RadioButton69, RadioButton70, RadioButton71, RadioButton72);
        GetRadio(&p, &Blocks, 0x10, 0x03, RadioButton73, RadioButton74, RadioButton75, RadioButton76);

        if (p)
        {
                if (TZXFile.Tape[BlockNo].Data.HWTypes) free(TZXFile.Tape[BlockNo].Data.HWTypes);
                TZXFile.Tape[BlockNo].Data.HWTypes = p;
                TZXFile.Tape[BlockNo].Head.HWType.NoTypes=Blocks;
        }
        else    TZXFile.DeleteBlock(BlockNo);
}