예제 #1
0
LRESULT CPropertyView::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	RECT rcClient;
	GetClientRect(&rcClient);

	m_ctrlToolbar.SubclassWindow( CFrameWindowImplBase<>::CreateSimpleToolBarCtrl(m_hWnd, IDR_TB_PROPVIEW, FALSE, ATL_SIMPLE_TOOLBAR_STYLE | CCS_NODIVIDER | CCS_NOPARENTALIGN | TBSTYLE_FLAT) );
	m_ctrlToolbar.LoadTrueColorToolBar(IDR_TB1_PROPVIEW);
	m_ctrlToolbar.MoveWindow(0,0, rcClient.right - rcClient.left, 10);
	m_ctrlComboBox.SubclassWindow(GetDlgItem(IDC_COMBO));

	m_ctrlComboBox.SetMultiSelection();
	m_ctrlComboBox.LoadStatesBitmap(IDB_COMBO_ICONS, IDB_COMBO_ICONS);
	m_ctrlComboBox.AddIcon("Icon");

	static CFont font;
	CLogFont lf = GetFont();
	lf.SetBold();
	font.CreateFontIndirect(&lf);
	CStatic ctrlTitle = GetDlgItem(IDC_TITLE);
	ctrlTitle.SetFont(font);

	m_ctrlList.SubclassWindow(GetDlgItem(IDC_LIST));
	m_ctrlList.SetExtendedListStyle(PLS_EX_CATEGORIZED | PLS_EX_XPLOOK);

	// Set the minimum width and height of the content
	m_nMinWidth = 100;
	m_nMinHeight = 120;
	m_hWndLinked = NULL;

	DlgResize_Init(false, true, WS_CLIPCHILDREN);
	return TRUE;
}
예제 #2
0
void CWizardSprayCompletion::InitializeFont(void)
{
	// Set the font
	CLogFont logFont;
	CClientDC dc(m_hWnd);
	logFont.SetHeight(8, dc);
	::lstrcpy(logFont.lfFaceName, _T("Courier New"));

	m_fontSummary.Attach(logFont.CreateFontIndirect());
	m_editSummary.SetFont(m_fontSummary);

	// Set the tab stops to 4 characters.
	// Tab stops are in dialog units.
	TEXTMETRIC tm = {0};
	CFontHandle oldFont = dc.SelectFont(m_fontSummary);
	dc.GetTextMetrics(&tm);
	dc.SelectFont(oldFont);

	int dialogUnitsX = ::MulDiv(4, tm.tmAveCharWidth, LOWORD(GetDialogBaseUnits()));
	int tabStops = 4*dialogUnitsX;

// TJ	m_editSummary.SetTabStops(tabStops);
}
예제 #3
0
BOOL CLogViewWindow::OnInitDialog(CWindow wndFocus, LPARAM lInitParam)
{
	SetWindowText(GetTranslateMessage(IDD_LOGVIEW, 0).c_str());

	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_STOPLOG);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_RECENTURLS);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_BUTTON_CLEAR);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_BUTTON_VIEWCONNECTIONMONITOR);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_GROUP_HTTPEVENT);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_BROWSERTOPROXY);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_PROXYTOWEB);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_PROXYFROMWEB);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_BROWSERFROMPROXY);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_PROXYEVENT);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_FILTEREVENT);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_VIEWPOSTDATA);
	ChangeControlTextForTranslateMessage(m_hWnd, IDC_CHECKBOX_WEBFILTERDEBUG);

	m_editLog = GetDlgItem(IDC_RICHEDIT_LOG);
	m_editLog.SetTargetDevice(NULL, 0);

	m_editPartLog = GetDlgItem(IDC_RICHEDIT_PARTLOG);
	m_editPartLog.SetTargetDevice(NULL, 0);
	m_editPartLog.ShowWindow(FALSE);

	m_cmbRequest = GetDlgItem(IDC_COMBO_REQUEST);
	m_cmbRequest.AddString(GetTranslateMessage(ID_ALLLOG).c_str());
	m_cmbRequest.SetCurSel(0);

	if (auto font = UITranslator::getFont()) {
		CLogFont lf;
		font.GetLogFont(&lf);
		lf.SetHeight(8);
		CFont smallfont = lf.CreateFontIndirect();
		m_editLog.SetFont(smallfont);
		m_editPartLog.SetFont(smallfont);
		m_cmbRequest.SetFont(font);
	}

	m_listRequest.SubclassWindow(GetDlgItem(IDC_LIST_RECENTURLS));
	m_listRequest.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_INFOTIP | LVS_EX_DOUBLEBUFFER);
	m_listRequest.AddColumn(_T("Con"), 0, 
							-1, LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM, LVCFMT_RIGHT);
	m_listRequest.SetColumnSortType(0, LVCOLSORT_LONG);
	m_listRequest.AddColumn(_T("Code"), 1);
	m_listRequest.SetColumnSortType(1, LVCOLSORT_LONG);
	m_listRequest.AddColumn(_T("Content-Type"), 2);
	m_listRequest.AddColumn(_T("Length"), 3, 
							-1, LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM, LVCFMT_RIGHT);
	m_listRequest.SetColumnSortType(3, LVCOLSORT_LONG);
	m_listRequest.AddColumn(_T("URL"), 4);
	m_listRequest.SetColumnWidth(4, 400);

	m_connectionMonitor.Create(GetParent());

    // ダイアログリサイズ初期化
    DlgResize_Init(true, true, WS_THICKFRAME | WS_MAXIMIZEBOX);

	using namespace boost::property_tree;
	
	CString settingsPath = Misc::GetExeDirectory() + _T("settings.ini");
	std::ifstream fs(settingsPath);
	if (fs) {
		ptree pt;
		try {
			read_ini(fs, pt);
		}
		catch (...) {
			ERROR_LOG << L"CLogViewWindow::OnInitDialog : settings.iniの読み込みに失敗";
			pt.clear();
		}
		CRect rcWindow;
		rcWindow.top	= pt.get("LogWindow.top", 0);
		rcWindow.left	= pt.get("LogWindow.left", 0);
		rcWindow.right	= pt.get("LogWindow.right", 0);
		rcWindow.bottom	= pt.get("LogWindow.bottom", 0);
		if (rcWindow != CRect()) {
			MoveWindow(&rcWindow);
		}
		if (pt.get("LogWindow.ShowWindow", false))
			ShowWindow();

		if (auto value = pt.get_optional<bool>("LogWindow.BrowserToProxy"))
			m_bBrowserToProxy	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.ProxyToWeb"))
			m_bProxyToWeb	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.ProxyFromWeb"))
			m_bProxyFromWeb	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.BrowserFromProxy"))
			m_bBrowserFromProxy	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.ProxyEvent"))
			m_bProxyEvent	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.FilterEvent"))
			m_bFilterEvent	= value.get();
		if (auto value = pt.get_optional<bool>("LogWindow.ViewPostData"))
			m_bViewPostData = value.get();

		auto funcConvertRGB = [](const std::string& colorString, COLORREF& color) {
			if (colorString.length() != 6)
				return;
				
			std::string r = colorString.substr(0, 2);
			std::string g = colorString.substr(2, 2);
			std::string b = colorString.substr(4, 2);
			color = RGB(std::stoi(r, nullptr, 16), std::stoi(g, nullptr, 16), std::stoi(b, nullptr, 16));
		};
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_BACKGROUND"))
			funcConvertRGB(value.get(), LOG_COLOR_BACKGROUND);
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_DEFAULT"))
			funcConvertRGB(value.get(), LOG_COLOR_DEFAULT);
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_FILTER"))
			funcConvertRGB(value.get(), LOG_COLOR_FILTER);
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_REQUEST"))
			funcConvertRGB(value.get(), LOG_COLOR_REQUEST);
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_RESPONSE"))
			funcConvertRGB(value.get(), LOG_COLOR_RESPONSE);
		if (auto value = pt.get_optional<std::string>("LogWindow.COLOR_PROXY"))
			funcConvertRGB(value.get(), LOG_COLOR_PROXY);
	}
	m_editLog.SetBackgroundColor(LOG_COLOR_BACKGROUND);
	m_editPartLog.SetBackgroundColor(LOG_COLOR_BACKGROUND);

	DoDataExchange(DDX_LOAD);

	return 0;
}