Ejemplo n.º 1
0
/*------------------------------------------------
  initialize
--------------------------------------------------*/
void OnInit(HWND hDlg)
{
	int i, count, index;
	HFONT hfont;

	hfont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
	if(hfont)
	{
		SendDlgItemMessage(hDlg, IDC_COMBOAUTOEXEC,
			WM_SETFONT, (WPARAM)hfont, 0);
		SendDlgItemMessage(hDlg, IDC_FILEAUTOEXEC,
			WM_SETFONT, (WPARAM)hfont, 0);
	}

	index = CBAddString(hDlg, IDC_COMBOAUTOEXEC, (LPARAM)MyString(IDS_ADDALARM));
	CBSetItemData(hDlg, IDC_COMBOAUTOEXEC, index, 0);

	count = GetMyRegLong("", "AutoExecNum", 0);
	if(count < 1) count = 0;
	for(i = 0; i < count; i++)
	{
		PAUTOEXECSTRUCT pAS;
		pAS = malloc(sizeof(AUTOEXECSTRUCT));
		ReadAutoExecFromReg(pAS, i);
		index = CBAddString(hDlg, IDC_COMBOAUTOEXEC, (LPARAM)pAS->name);
		CBSetItemData(hDlg, IDC_COMBOAUTOEXEC, index, (LPARAM)pAS);
		if(i == 0)  SetAutoExecToDlg(hDlg, pAS);
	}
	//リスト項目の表示数を指定
	AdjustDlgConboBoxDropDown(hDlg, IDC_COMBOAUTOEXEC, 7);
	if(count > 0)
	{
		CBSetCurSel(hDlg, IDC_COMBOAUTOEXEC, 1);
		curAutoExec = 1;
	}
	else
	{
		AUTOEXECSTRUCT as;
		CBSetCurSel(hDlg, IDC_COMBOAUTOEXEC, 0);
		curAutoExec = -1;
		memset(&as, 0, sizeof(as));
		as.hour = 12;
		as.days = 0x7f;
		SetAutoExecToDlg(hDlg, &as);
	}

	SendDlgItemMessage(hDlg, IDC_TESTAUTOEXEC, BM_SETIMAGE, IMAGE_ICON,
		(LPARAM)g_hIconPlay);
	OnFileChange(hDlg, IDC_FILEAUTOEXEC);

	SendDlgItemMessage(hDlg, IDC_DELAUTOEXEC, BM_SETIMAGE, IMAGE_ICON,
		(LPARAM)g_hIconDel);

	OnAutoExec(hDlg, IDC_AUTOEXEC);
	bPlaying = FALSE;
}
Ejemplo n.º 2
0
/*------------------------------------------------
  set settings of an alarm to the page
--------------------------------------------------*/
void SetAutoExecToDlg(HWND hDlg, PAUTOEXECSTRUCT pAS)
{
	SetDlgItemText(hDlg, IDC_COMBOAUTOEXEC, pAS->name);
	CheckDlgButton(hDlg, IDC_AUTOEXEC, pAS->bAutoExec);
	SetDlgItemText(hDlg, IDC_FILEAUTOEXEC, pAS->fname);
	SetDlgItemInt(hDlg, IDC_HIDDENAUTOEXECDAY, pAS->days, FALSE);
	SetDlgItemInt(hDlg, IDC_HIDDENAUTOEXECHOUR, pAS->hour, FALSE);
	SetDlgItemInt(hDlg, IDC_HIDDENAUTOEXECMIN1, pAS->minute1, FALSE);
	SetDlgItemInt(hDlg, IDC_HIDDENAUTOEXECMIN2, pAS->minute2, FALSE);
	CheckDlgButton(hDlg, IDC_ONBOOTEXEC, pAS->bOnBoot);

	OnFileChange(hDlg, IDC_FILEAUTOEXEC);
}
Ejemplo n.º 3
0
/*------------------------------------------------
  checked "acrive"
--------------------------------------------------*/
void OnAutoExec(HWND hDlg, WORD id)
{
	int s, e, i;
	BOOL b;

	s = IDC_AUTOEXECHOUR; e = IDC_HIDDENAUTOEXECMIN2;

	b = IsDlgButtonChecked(hDlg, id);
	for(i = s; i <= e; i++)	EnableDlgItem(hDlg, i, b);

	OnFileChange(hDlg, IDC_FILEAUTOEXEC);

	if(b)
	{
		char name[40];
		GetDlgItemText(hDlg, IDC_COMBOAUTOEXEC, name, 40);
		if(strcmp(name, MyString(IDS_ADDALARM)) == 0)
			SetDlgItemText(hDlg, IDC_COMBOAUTOEXEC, "");
	}

	SendPSChanged(hDlg);
}
Ejemplo n.º 4
0
LRESULT HexEdit_OnNotify(MAINWND *mainWnd, HWND hwnd, UINT idCtrl, NMHDR *hdr)
{
    HWND hwndHV = GetActiveHexView(hwnd);

    if(hdr->hwndFrom == mainWnd->hwndTabView)
    {
        TCITEM tci = { TCIF_PARAM };

        TabCtrl_GetItem(mainWnd->hwndTabView, TabCtrl_GetCurSel(mainWnd->hwndTabView), &tci);

        // has the user clicked a file-tab?
        if(hdr->code == TCN_SELCHANGE)
        {
            HexSetCurFile(hwnd, TabCtrl_GetCurSel(mainWnd->hwndTabView), TRUE);

            OnFileChange(mainWnd);
            return 0;
        }
        else if(hdr->code == TCN_CLOSING)
        {
            // prompt close if
            if(HexFileCloseNotify(hwnd, hwndHV) == IDCANCEL)
                return TRUE;

            return 0;
        }
        else if(hdr->code == TCN_CLOSE)
        {
            // ask user if they want to save changes
            if(HexFileCloseNotify(hwnd, hwndHV) == IDCANCEL)
                return 0;

            //SetCurFile(hwnd, TabCtrl_GetCurSel(mainWnd->hwndTabView));
            //DestroyWindow((HWND)tci.lParam);
            HexCloseFile(mainWnd, TabCtrl_GetCurSel(mainWnd->hwndTabView));
            return 0;
        }
    }

    // double-click in a statusbar pane?
    if(hdr->hwndFrom == mainWnd->hwndStatusBar && hdr->code == NM_DBLCLK)
    {
        NMMOUSE *nmmouse;

        // statusbar is the only window at present which sends double-clicks
        nmmouse = (NMMOUSE *)hdr;

        // toggle the Readonly/Insert/Overwrite mode
        if(nmmouse->dwItemSpec == 4)
        {
            ToggleEditorMode(hwndHV);
            UpdateStatusBarText(mainWnd->hwndStatusBar, hwndHV);
        }

        return 0;
    }

    if(hdr->code == TBN_DROPDOWN)
    {
        if(GetParent(hdr->hwndFrom) == mainWnd->hwndStatusBar)
        {
            StatusBar_DropDownTB(mainWnd, hwndHV, (NMTOOLBAR *)hdr);
        }

        if(hdr->hwndFrom == mainWnd->hwndToolbar)
        {
            HexPasteSpecialDlg2(hwnd);
        }

        return 0;
    }

    /*	if(hdr->code == DWN_ISDOCKABLE)
    	{
    		RECT rc1, rc2;

    		// Get main window "outer" rectangle
    		GetWindowRect(hwnd, &rc1);

    		// Get main window "inner" rectangle
    		GetClientRect(hwnd, &rc2);
    		MapWindowPoints(hwnd, 0, (POINT *)&rc2, 2);
    		InflateRect(&rc2, -2, -2);

    		return DockWnd_GetDockSide(hwnd, (NMDOCKWNDQUERY *)hdr, &rc1, &rc2);
    	}*/

    if(hdr->code == DWN_SAVESETTINGS)
    {
        NMDOCKWNDCREATE *nmdw = (NMDOCKWNDCREATE *)hdr;

        TRACEA("  DWN_SAVESETTINGS: %d\n", nmdw->uId);

        switch(nmdw->hdr.idFrom)
        {
        case DWID_TYPEVIEW:
        case DWID_ALLTYPES:
            SaveTypeView(nmdw->hwndClient, nmdw->hKey);
            break;
        }

        return 0;
    }

    if(hdr->code == DWN_UPDATE_CONTENT)
    {
        NMDOCKWND *nmdw = (NMDOCKWND *)hdr;

        HWND hwndHV = GetActiveHexView(hwnd);

        switch(nmdw->hdr.idFrom)
        {
        case DWID_HIGHLIGHT:
            UpdateHighlights(TRUE);
            break;
        }

        return 0;
    }

    if(hdr->code == DWN_CREATE_CONTENT)
    {
        NMDOCKWNDCREATE *nmdw = (NMDOCKWNDCREATE *)hdr;

        TRACEA("DWN_CREATE_CONTENT: %d\n", hdr->idFrom);

        switch(nmdw->hdr.idFrom)
        {
        case DWID_TOOLBAR:
            mainWnd->hwndToolbar = InitToolbar(hdr->hwndFrom);
            return (LONG)mainWnd->hwndToolbar;

        case DWID_SEARCHBAR:
            return (LONG)CreateSearchBar(hdr->hwndFrom);

        case DWID_ALLTYPES:
            //SendMessage(hwndTB, TB_SETSTATE, IDM_TOOLS_TYPEVIEW, DockWnd_IsOpen(g_hwndMain, DWID_TYPEVIEW) ? TBSTATE_CHECKED|TBSTATE_ENABLED : TBSTATE_ENABLED);
            return (LONG)CreateTypeView(hdr->hwndFrom, nmdw->hKey, TRUE);//TEXT("struct ALL"));

        case DWID_TYPEVIEW:
            //SendMessage(hwndTB, TB_SETSTATE, IDM_TOOLS_TYPEVIEW, DockWnd_IsOpen(g_hwndMain, DWID_TYPEVIEW) ? TBSTATE_CHECKED|TBSTATE_ENABLED : TBSTATE_ENABLED);
            return (LONG)CreateTypeView(hdr->hwndFrom, nmdw->hKey, 0);

        case DWID_HIGHLIGHT:
            return (LONG)CreateHighlightView(hdr->hwndFrom);

        case DWID_STRINGS:
            return (LONG)CreateStringsView(hdr->hwndFrom);
        }
    }
    else if(hdr->code == DWN_DOCKCHANGE)
    {
        NMDOCKWND *nmdw = (NMDOCKWND *)hdr;

        switch(nmdw->hdr.idFrom)
        {
        case DWID_TOOLBAR:
            SendMessage(DockWnd_GetContents(mainWnd->hwndMain, DWID_TOOLBAR),
                        TB_SETPARENT, (WPARAM)hdr->hwndFrom, 0);

            return 0;
        }
    }
    else if(hdr->code == DWN_CLOSING)
    {
        NMDOCKWND *nmdw = (NMDOCKWND *)hdr;

        switch(nmdw->hdr.idFrom)
        {
        case DWID_TYPEVIEW:
            break;
        }
        return 0;
    }

    return DefWindowProc(hwnd, WM_NOTIFY, idCtrl, (LONG)hdr);
}
Ejemplo n.º 5
0
/*------------------------------------------------
  Dialog procedure
--------------------------------------------------*/
BOOL CALLBACK PageAutoExecProc(HWND hDlg, UINT message,
	WPARAM wParam, LPARAM lParam)
{
	switch(message)
	{
		case WM_INITDIALOG:
			OnInit(hDlg);
			return TRUE;
		case WM_COMMAND:
		{
			WORD id, code;
			id = LOWORD(wParam); code = HIWORD(wParam);
			switch(id)
			{
			// a combo-box to select alarm name
			case IDC_COMBOAUTOEXEC:
				if(code == CBN_SELCHANGE)
					OnChangeAutoExec(hDlg);
				else if(code == CBN_DROPDOWN)
					OnDropDownAutoExec(hDlg);
				break;
			// Day...
			case IDC_AUTOEXECHOUR:
				OnHour(hDlg);
				break;
			case IDC_AUTOEXECMIN:
				OnMin(hDlg);
				break;
			case IDC_AUTOEXECDAY:
				OnDay(hDlg);
				break;
			case IDC_AUTOEXEC:
				OnAutoExec(hDlg, id);
				break;
			// file name changed
			case IDC_FILEAUTOEXEC:
				if(code == EN_CHANGE)
				{
					OnFileChange(hDlg, id);
					SendPSChanged(hDlg);
				}
				break;
			// browse file
			case IDC_SANSHOAUTOEXEC:
				OnSanshoAutoExec(hDlg, id);
				OnFileChange(hDlg, (WORD)(id - 1));
				SendPSChanged(hDlg);
				break;
			// checked other checkboxes
			case IDC_ONBOOTEXEC:
				SendPSChanged(hDlg);
				break;
			// delete an alarm
			case IDC_DELAUTOEXEC:
				OnDelAutoExec(hDlg);
				break;
			// test sound
			case IDC_TESTAUTOEXEC:
				OnTest(hDlg, id);
				break;
			}
			return TRUE;
		}
		case WM_NOTIFY:
			switch(((NMHDR *)lParam)->code)
			{
				case PSN_APPLY: OnApply(hDlg); break;
				case PSN_HELP: My2chHelp(GetParent(hDlg), 14); break;
			}
			return TRUE;
		case WM_DESTROY:
			OnDestroy(hDlg);
			if(bPlaying) StopFile(); bPlaying = FALSE;
			break;
		// playing sound ended
		case MM_MCINOTIFY:
		case MM_WOM_DONE:
			StopFile(); bPlaying = FALSE;
			SendDlgItemMessage(hDlg, IDC_TESTAUTOEXEC, BM_SETIMAGE, IMAGE_ICON,
				(LPARAM)g_hIconPlay);
			return TRUE;
	}
	return FALSE;
}