Example #1
0
LRESULT CNotePad::OnCommand(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	BOOL bRet = false;
	int wmId, wmEvent;
	wmId    = LOWORD(wParam);
	wmEvent = HIWORD(wParam);
	switch (wmEvent)
	{
	case EN_CHANGE:
		 bRet = 1;
		break;
	case EN_HSCROLL:
		 bRet = 1;
		break;
	}
	// 分析菜单选择:
	switch (wmId)
	{
		case IDM_ABOUT:
			DialogBox(m_hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
			break;
		case IDM_EXIT:
			DestroyWindow(hWnd);
			break;
		case ID_NEW:
			bRet = OnFileNew(hWnd, wParam, lParam);
			break;
		case ID_OPEN:
			bRet = OnFileOpen(hWnd, wParam, lParam);
			break;
		case ID_SAVE:
			bRet = OnFileSave(hWnd, wParam, lParam);
			break;
		case ID_SAVEAS:
			bRet = OnFileSaveAs(hWnd, wParam, lParam);
			break;
		case ID_PRINT:
			bRet = OnFilePrint(hWnd, wParam, lParam);
			break;
		case ID_PAGESET:
			bRet = OnPageSet(hWnd, wParam, lParam);
			break;
		case ID_COPY:
			bRet = OnFileCopy(hWnd, wParam, lParam);
			break;
		case ID_PASTE:
			bRet = OnFilePaste(hWnd, wParam, lParam);
			break;
		case ID_COLOR:
			bRet = OnColor(hWnd, wParam, lParam);
			break;
		case ID_FONT:
			bRet = OnFont(hWnd, wParam, lParam);
			break;
		default:
			return DefWindowProc(hWnd, uMsg, wParam, lParam);
	}

	return bRet;
}
Example #2
0
/*------------------------------------------------
  Dialog procedure
--------------------------------------------------*/
INT_PTR CALLBACK PageColorProc(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)
			{
				case IDC_COLBACK:
				case IDC_COLBACK2:
				case IDC_COLFORE:
#if TC_ENABLE_CLOCKDECORATION
				case IDC_COLSHADOW:
#endif
				case IDC_FONT:
				case IDC_FONTSIZE:
					if(code == CBN_SELCHANGE || code == CBN_EDITCHANGE)
					{
						if(id == IDC_FONT) OnFont(hDlg, FALSE);
						SendPSChanged(hDlg);
					}
					break;
				case IDC_CHKCOLOR:
				case IDC_CHKCOLOR2:
					OnCheckColor(hDlg);
					SendPSChanged(hDlg);
					break;
				case IDC_CHOOSECOLBACK:
				case IDC_CHOOSECOLBACK2:
				case IDC_CHOOSECOLFORE:
#if TC_ENABLE_CLOCKDECORATION
				case IDC_CHOOSECOLSHADOW:
#endif
					OnChooseColor(hDlg, id);
					break;
#if TC_ENABLE_CLOCKDECORATION
				case IDC_DECONONE:
				case IDC_DECOSHADOW:
				case IDC_DECOBORDER:
					OnSelectDecoration(hDlg);
					SendPSChanged(hDlg);
					break;
				case IDC_SHADOWRANGE:
					if(code == EN_CHANGE)
						SendPSChanged(hDlg);
					break;
#endif
				case IDC_GRAD1:
				case IDC_GRAD2:
				case IDC_FILLTRAY:
				case IDC_BOLD:
				case IDC_ITALIC:
					SendPSChanged(hDlg);
					break;
			}
			return TRUE;
		}
		case WM_NOTIFY:
			switch(((NMHDR *)lParam)->code)
			{
				case PSN_APPLY: OnApply(hDlg); break;
				case PSN_HELP: MyHelp(GetParent(hDlg), "Color"); break;
			}
			return TRUE;
		case WM_MEASUREITEM:
			// common/combobox.c
			OnMeasureItemColorCombo((LPMEASUREITEMSTRUCT)lParam);
			return TRUE;
		case WM_DRAWITEM:
			OnDrawItem(hDlg, (LPDRAWITEMSTRUCT)lParam);
			return TRUE;
		case WM_DESTROY:
			if(m_hfontb) DeleteObject(m_hfontb);
			if(m_hfonti) DeleteObject(m_hfonti);
			break;
	}
	return FALSE;
}
Example #3
0
/*------------------------------------------------
  Initialize
--------------------------------------------------*/
void OnInit(HWND hDlg)
{
	LOGFONT logfont;
	
	m_bInit = FALSE;
	
	// common/tclang.c
	SetDialogLanguage(hDlg, "Color", g_hfontDialog);
	
	// settings of "background" and "text"
	
	InitColor(hDlg);
	
	CheckDlgButton(hDlg, IDC_CHKCOLOR,
		GetMyRegLong(NULL, "UseBackColor", IsXPVisualStyle() ? FALSE : TRUE));
	CheckDlgButton(hDlg, IDC_CHKCOLOR2,
		GetMyRegLong(NULL, "UseBackColor2", FALSE));
	
	CheckRadioButton(hDlg, IDC_GRAD1, IDC_GRAD2,
		(GetMyRegLong(NULL, "GradDir", 0) == 0) ? IDC_GRAD1 : IDC_GRAD2);
	
	CheckDlgButton(hDlg, IDC_FILLTRAY,
		GetMyRegLong(NULL, "FillTray", FALSE));
	EnableDlgItem(hDlg, IDC_FILLTRAY,
		IsDlgButtonChecked(hDlg, IDC_CHKCOLOR));
	
	OnCheckColor(hDlg);
	
#if TC_ENABLE_CLOCKDECORATION
	// settings for decoration
	CheckRadioButton(hDlg, IDC_DECONONE, IDC_DECOBORDER,
		GetMyRegLong(NULL, "ClockDecoration", 0) + IDC_DECONONE);
	OnSelectDecoration(hDlg);
	UpDown_SetBuddy(hDlg, IDC_SHADOWRANGESPIN, IDC_SHADOWRANGE);
	UpDown_SetRange(hDlg, IDC_SHADOWRANGESPIN, 10, 1);
	UpDown_SetPos(hDlg, IDC_SHADOWRANGESPIN,
		GetMyRegLong(NULL, "ShadowRange", 1));
#endif
	
	// settings of "font" and "font size"
	
	InitFont(hDlg);
	OnFont(hDlg, TRUE);
	
	CheckDlgButton(hDlg, IDC_BOLD, GetMyRegLong(NULL, "Bold", FALSE));
	CheckDlgButton(hDlg, IDC_ITALIC, GetMyRegLong(NULL, "Italic", FALSE));
	
	m_hfontb = m_hfonti = NULL;
	if(g_hfontDialog)
	{
		char s[80];
		
		GetObject(g_hfontDialog, sizeof(LOGFONT), &logfont);
		logfont.lfWeight = FW_BOLD;
		m_hfontb = CreateFontIndirect(&logfont);
		SendDlgItemMessage(hDlg, IDC_BOLD, WM_SETFONT, (WPARAM)m_hfontb, 0);
		
		logfont.lfWeight = FW_NORMAL;
		logfont.lfItalic = 1;
		m_hfonti = CreateFontIndirect(&logfont);
		SendDlgItemMessage(hDlg, IDC_ITALIC, WM_SETFONT, (WPARAM)m_hfonti, 0);
		
		GetDlgItemText(hDlg, IDC_ITALIC, s, 77);
		strcat(s, "  ");
		SetDlgItemText(hDlg, IDC_ITALIC, s);
	}
	
	m_bInit = TRUE;
}