Exemple #1
0
VOID InitOptionsFont(HWND hDlg)
{
    // load up the list of fonts
    HDC hDC = GetDC(hDlg);
    CHARFORMAT cf;
    LOGFONT lf;

    SendDlgItemMessage(hDlg, IDC_SpnFontSize, UDM_SETRANGE, 0, MAKELONG(72, 6));

    lf.lfCharSet = DEFAULT_CHARSET;
    lf.lfFaceName[0] = TEXT('\0');;
    lf.lfPitchAndFamily = 0;
    EnumFontFamiliesEx(hDC, &lf, ListAllFonts, (LPARAM) GetDlgItem(hDlg, IDC_LstFontFace), 0);
    ReleaseDC(hDlg, hDC);

    SetDlgItemText(hDlg, IDC_RtfPreview, TEXT("Text Preview ABC abc 123"));

    // setup the config options
    RegistryReadFont(&cf);
    SetDlgItemText(hDlg, IDC_LstFontFace, cf.szFaceName);
    SetDlgItemBool(hDlg, IDC_ChkFontBold, cf.dwEffects & CFE_BOLD);
    SetDlgItemBool(hDlg, IDC_ChkFontItalic, cf.dwEffects & CFE_ITALIC);
    SetDlgItemInt(hDlg, IDC_TxtFontSize, TwipToPoint(cf.yHeight), FALSE);

	SetDlgItemBool(hDlg, IDC_ChkRevertCAFs, GHCi_Flag_RevertCAFs);
	SetDlgItemBool(hDlg, IDC_ChkPrintStats, GHCi_Flag_PrintStats);
	SetDlgItemBool(hDlg, IDC_ChkPrintTypes, GHCi_Flag_PrintTypes);


    UpdateFontPreview(hDlg);
}
Exemple #2
0
INT_PTR CALLBACK OptsDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg) {
		case WM_INITDIALOG:
			CenterDialogInParent(hDlg);
			InitOptionsFont(hDlg);
			ComboInitDialog(hDlg,GHCi_Combo_Editor);
			ComboInitDialog(hDlg,GHCi_Combo_Startup);
			ComboInitDialog(hDlg,GHCi_Combo_Prompt);

			break;

		case WM_COMMAND: {
				INT Code = HIWORD(wParam);
				INT Ctrl = LOWORD(wParam);

				if ((Ctrl == IDC_ChkFontBold && Code == BN_CLICKED) ||
					(Ctrl == IDC_ChkFontItalic && Code == BN_CLICKED) ||
					(Ctrl == IDC_TxtFontSize && Code == EN_CHANGE) ||
					(Ctrl == IDC_LstFontFace && (Code == CBN_EDITCHANGE || Code == CBN_SELCHANGE))
					)
					UpdateFontPreview(hDlg);


			switch (LOWORD(wParam)) {
				case IDOK: {

					CHARFORMAT cf, prevCf;

					RegistryReadFont(&prevCf);
					CalculateFont(hDlg, &cf);

					if( (StringCmp(cf.szFaceName,prevCf.szFaceName)) 
						  || (cf.yHeight != prevCf.yHeight)  
						  || (cf.dwEffects != prevCf.dwEffects)) {

							RegistryWriteFont(&cf);
							RtfWindowUpdateFont();
					}

					UpdateOptions(hDlg) ;

					EndDialog(hDlg, TRUE);
					return (INT_PTR)TRUE;
				}
				case IDCANCEL:
					EndDialog(hDlg, TRUE);
					return (INT_PTR)TRUE;
			}
		}
		break;
	}
	return (INT_PTR)FALSE;
}
Exemple #3
0
INT_PTR CALLBACK DisplayOptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	HWND	hwndPreview;

	switch(msg)
	{
	case WM_INITDIALOG:

		MakeFontCombo(hwnd, GetDlgItem(hwnd, IDC_FONTLIST));

		MakeColourCombo(GetDlgItem(hwnd, IDC_FGCOLCOMBO), crDefault, szTextList, 17);
		MakeColourCombo(GetDlgItem(hwnd, IDC_BGCOLCOMBO), crDefault, szTextList, 17);

		SetComboItemHeight(GetDlgItem(hwnd, IDC_FGCOLCOMBO), 14);
		SetComboItemHeight(GetDlgItem(hwnd, IDC_BGCOLCOMBO), 14);

		InitSizeList(GetDlgItem(hwnd, IDC_SIZELIST), TEXT("Courier New"));

		InitHexPreview(GetDlgItem(hwnd, IDC_HEXVIEW_PREVIEW));

	//
	//	Subclass the PREVIEW static control so we can custom-draw it
	//
	hwndPreview = GetDlgItem(hwnd, IDC_PREVIEW);
	oldPreviewProc = (WNDPROC)SetWindowLongPtr(hwndPreview, GWLP_WNDPROC, (LONG_PTR)PreviewWndProc);

		//AddColourListItem(hwnd, IDC_ITEMLIST, -1,				HVC_BACKGROUND,   TEXT("Background"));	
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_ADDRESS,		HVC_BACKGROUND,   TEXT("Address Column"));
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_HEXEVEN,		HVC_BACKGROUND,   TEXT("Hex Odd Columns"));
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_HEXODD,		HVC_BACKGROUND,   TEXT("Hex Even Columns"));
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_ASCII,		HVC_BACKGROUND,   TEXT("Ascii Column"));
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_SELECTION,	HVC_SELECTION,	  TEXT("Selected Data"));
		AddColourListItem(hwnd, IDC_ITEMLIST, HVC_SELECTION,	HVC_SELECTION,	  TEXT("Inactive Selection"));
		//AddColourListItem(hwnd, IDC_ITEMLIST, -1,					HVC_LONGLINE,	  TEXT("Modified Bytes"));
		//AddColourListItem(hwnd, IDC_ITEMLIST, HVC_CURRENTLINETEXT, HVC_CURRENTLINE,  TEXT("Current Line"));

		return TRUE;

	case WM_COMMAND:
		
		if(HIWORD(wParam) == LBN_SELCHANGE || HIWORD(wParam) == CBN_SELCHANGE)
		{
			int idx;
			

			switch(LOWORD(wParam))
			{
			case IDC_ITEMLIST:
				idx = SendDlgItemMessage(hwnd, IDC_ITEMLIST, LB_GETCURSEL, 0, 0);
				g_crPreviewFG = HexView_RealiseColour(g_colorItem[idx].fgColor);
				g_crPreviewBG = HexView_RealiseColour(g_colorItem[idx].bgColor);
				InvalidateRect(GetDlgItem(hwnd, IDC_PREVIEW), 0, 0);

				break;

			case IDC_SIZELIST:
			case IDC_FONTLIST:
				UpdateFontPreview(hwnd);
				break;
			}
		}
		


		return 0;

	case WM_MEASUREITEM:
		// can't do anything here because we haven't created
		// the fonts yet, so send a manual CB_SETITEMHEIGHT instead
		return FALSE;
	}

	return FALSE;
}