예제 #1
0
LRESULT CFunctionPage::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	if (wParam == SIZE_RESTORED)
	{
		CRect rc, rc2;
		CWindow wnd = GetDlgItem(IDC_COMBO_CLASSES);
		wnd.GetWindowRect(rc);
		ScreenToClient(rc);
		CSize NewSize(LOWORD(lParam), HIWORD(lParam));
		
		CRect CheckRc(0, 0, 1,12);
		MapDialogRect(CheckRc);
		rc2.left = 0;
		rc2.right = NewSize.cx;
		rc2.top = rc.bottom + CheckRc.Height();
		rc2.bottom = NewSize.cy;
		m_SplitMessages.MoveWindow(rc2);

		if (!m_bShowWindow && lParam)
		{
			m_bShowWindow = true;
			m_SplitMessages.SetSplitterPos(m_WindowSettings.m_MesSpitPos);
			m_SplitFunctions.SetSplitterPos(m_WindowSettings.m_FuncSplitPos);
		}
	}
	return 0;
}
예제 #2
0
LRESULT
CEditColorDlg::OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled )
{
	RECT rcColorWnd = { 0 };
	CWindow ColorWnd = GetDlgItem( IDC_COLOR );
	ColorWnd.GetWindowRect( &rcColorWnd );

	DWORD dwPos = GetMessagePos();
	POINT pt = { LOWORD( dwPos ), HIWORD( dwPos ) };

	if( !PtInRect( &rcColorWnd, pt ) )
		return( 0 );

	CHOOSECOLOR cc;
	cc.lStructSize    = sizeof( CHOOSECOLOR );
	cc.hwndOwner      = m_hWnd;
	cc.hInstance      = NULL;
	cc.rgbResult      = m_uColor;
	cc.lpCustColors   = g_CustomColors;
	cc.Flags          = CC_RGBINIT | CC_FULLOPEN;
	cc.lCustData      = 0;
	cc.lpfnHook       = NULL;
	cc.lpTemplateName = NULL;
	if( ChooseColor( &cc ) )
	{
		m_uColor = cc.rgbResult;
		ShowColorInfo();
	}

	return( 0 );
}
예제 #3
0
	LRESULT OnInitDialog(HWND /*wParam*/, LPARAM /*lParam*/)
	{
		CWaitCursor cursor;
		CenterWindow(GetParent());

		if ( !m_prompt.IsEmpty() )
		{
			SetWindowText(m_prompt);
		}

		CWindow wndPlaceholder = GetDlgItem(IDC_STATIC_PLACEHOLDER);
		CRect rc;
		wndPlaceholder.GetWindowRect(rc);
		ScreenToClient(rc);
		wndPlaceholder.DestroyWindow();
		m_view.Create(*this, rc);
		m_view.SetDlgCtrlID(IDC_STATIC_PLACEHOLDER);
		m_view.SetWindowPos(HWND_TOP, rc, 0);
		m_view.SendMessage(CWM_RESET);
		m_view.Select(m_attr);
		m_view.Invalidate();
		m_view.SetFocus();

		return TRUE;
	}
예제 #4
0
LRESULT
CEditColorDlg::OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled )
{
	RECT rcColorWnd = { 0 };
	CWindow ColorWnd = GetDlgItem( IDC_COLOR );
	ColorWnd.GetWindowRect( &rcColorWnd );

	DWORD dwPos = GetMessagePos();
	POINT pt = { LOWORD( dwPos ), HIWORD( dwPos ) };

	if( PtInRect( &rcColorWnd, pt ) )
		SetCursor( m_hCursorHand );
	else
		bHandled = FALSE;
	return( 0 );
}
예제 #5
0
HWND CLayoutControl::CalcRect( CWindow wndLayout, LPCRECT prcLayout, LPRECT prc )
{
	ATLASSERT( wndLayout.IsWindow() );
	ATLASSERT( prcLayout != NULL );
	ATLASSERT( prc != NULL );

	// Retrieve the control's window handle
	CWindow wndControl = wndLayout.GetDlgItem( m_nID );
	ATLASSERT( wndControl.IsWindow() );

	// Get the control's current bounds
	CRect rcOld;
	wndControl.GetWindowRect(rcOld);
	wndLayout.ScreenToClient(rcOld);

	CopyRect( prc, rcOld );

	if ( m_nAnchor & LAYOUT_ANCHOR_LEFT )
	{
		prc->left = prcLayout->left + m_rcMargins.left;
		if ( !(m_nAnchor & LAYOUT_ANCHOR_RIGHT) )
			prc->right = prc->left + rcOld.Width();
	}
	if ( m_nAnchor & LAYOUT_ANCHOR_TOP )
	{
		prc->top = prcLayout->top + m_rcMargins.top;
		if ( !(m_nAnchor & LAYOUT_ANCHOR_BOTTOM) )
			prc->bottom = prc->top + rcOld.Height();
	}
	if ( m_nAnchor & LAYOUT_ANCHOR_RIGHT )
	{
		prc->right = prcLayout->right - m_rcMargins.right;
		if ( !(m_nAnchor & LAYOUT_ANCHOR_LEFT) )
			prc->left = prc->right - rcOld.Width();
	}
	if ( m_nAnchor & LAYOUT_ANCHOR_BOTTOM )
	{
		prc->bottom = prcLayout->bottom - m_rcMargins.bottom;
		if ( !(m_nAnchor & LAYOUT_ANCHOR_TOP) )
			prc->top = prc->bottom - rcOld.Height();
	}

	return (HWND) wndControl;
}
예제 #6
0
LRESULT CExtractDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	CenterWindow(GetParent());

	m_ctlList.SubclassWindow( GetDlgItem( IDC_OUTTOOLBAR ) );
	m_ctlList.AddItem(0, 0, L"Page1");
	m_ctlList.AddItem(1, 0, L"Page2");
	m_ctlList.AddItem(2, 0, L"Page3");

	 
	m_ctlList.SelectItem(1);
	CWindow workSpase = GetDlgItem(IDC_WORK_SPACE);
	CRect rcClient;
	workSpase.GetWindowRect(rcClient);
	ScreenToClient(rcClient);
	//workSpase.ShowWindow(SW_HIDE);
	m_mapNamePage.Create(m_hWnd, IDD_MAP_NAME_PAGE);
	m_mapNamePage.MoveWindow(rcClient);
	m_mapNamePage.ShowWindow(SW_SHOW);
	return TRUE;
}
LRESULT PreviewWindow::OnCreate(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
	CWindow window;
	window.Attach(hwnd);

	CRect rcClient;
	window.GetWindowRect(rcClient);

	m_d3d = Direct3DCreate9(D3D_SDK_VERSION);

	D3DPRESENT_PARAMETERS	d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));
	d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
	d3dpp.BackBufferCount = 2;
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
	d3dpp.hDeviceWindow = hwnd;
	d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
	HRESULT hr = m_d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED, &d3dpp, &m_device);
	ATLASSERT(S_OK == hr);

	return 0;
}
void TreePropertySheet::hideTab() {
	CRect rcClient, rcTab, rcPage, rcWindow;
	CWindow tab = GetTabControl();
	CWindow page = IndexToHwnd(this->m_psh.nStartPage);

	GetClientRect(&rcClient);

	tab.GetWindowRect(&rcTab);
	page.GetClientRect(&rcPage);
	page.MapWindowPoints(m_hWnd,&rcPage);
	GetWindowRect(&rcWindow);
	::MapWindowPoints(NULL, m_hWnd, (LPPOINT)&rcTab, 2);

	ScrollWindow(SPACE_LEFT + TREE_WIDTH + SPACE_MID-rcPage.left, SPACE_TOP-rcPage.top);
	rcWindow.right += SPACE_LEFT + TREE_WIDTH + SPACE_MID - rcPage.left - (rcClient.Width()-rcTab.right) + SPACE_RIGHT;
	rcWindow.bottom += SPACE_TOP - rcPage.top;

	tab.ShowWindow(SW_HIDE);

	MoveWindow(&rcWindow, TRUE);

	tabContainer.SubclassWindow(tab.m_hWnd);
}
예제 #9
0
LRESULT CBookmarksView::OnInitDialog(HWND /*hWnd*/, LPARAM /*lParam*/)
{
    SetMsgHandled(false);
    DlgResize_Init(false, false);

    CRect rc(0, 0, 0, 0);
    CWindow wndPlaceholder = GetDlgItem(IDC_BOOKMARKS_PLACEHOLDER);
    wndPlaceholder.GetWindowRect(rc);
    ScreenToClient(rc);
    wndPlaceholder.DestroyWindow();

    const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
    if (!m_list.Create(dwViewStyle, rc, CWnd::FromHandle(m_hWnd), IDC_BOOKMARKS_PLACEHOLDER))
    {
        TRACE0("Failed to create Class View\n");
        return -1;      // fail to create
    }
    m_list.SetOwner(CWnd::FromHandle(m_hWnd));

    m_list.m_sortedCol = 0;
    m_list.m_sortAscending = false;

    m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
    m_list.EnableMultipleSort(true);

    int col = 0;
    m_list.InsertColumn(col++, _T("Line"));
    m_list.InsertColumn(col++, _T("Type"));
    m_list.InsertColumn(col++, _T("User"));
    m_list.InsertColumn(col++, _T("Module"));
    m_list.InsertColumn(col++, _T("Attribute"));
    m_list.InsertColumn(col++, _T("Attr Type"));
    m_list.InsertColumn(col++, _T("Description"));

    for (int i = 0; i < col; ++i)
    {
        m_list.SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);
    }

    if (!m_listMaster.Create(dwViewStyle, rc, CWnd::FromHandle(m_hWnd), IDC_BOOKMARKS_PLACEHOLDER))
    {
        TRACE0("Failed to create Class View\n");
        return -1;      // fail to create
    }
    col = 0;
    m_listMaster.InsertColumn(col++, _T("Line"));
    m_listMaster.InsertColumn(col++, _T("Type"));
    m_listMaster.InsertColumn(col++, _T("User"));
    m_listMaster.InsertColumn(col++, _T("Module"));
    m_listMaster.InsertColumn(col++, _T("Attribute"));
    m_listMaster.InsertColumn(col++, _T("Attr Type"));
    m_listMaster.InsertColumn(col++, _T("Description"));

    boost::filesystem::path iniPath;
    GetIniPath(iniPath);
    CComPtr<IConfig> iniFile = CreateIConfig(QUERYBUILDER_INI, iniPath);

    m_checkMine = iniFile->Get(GLOBAL_BOOKMARKS_SHOWMINE);
    m_checkTodos = iniFile->Get(GLOBAL_BOOKMARKS_SHOWTODOS);
    m_checkHacks = iniFile->Get(GLOBAL_BOOKMARKS_SHOWHACKS);

    m_list.m_sortedCol = iniFile->Get(GLOBAL_BOOKMARKS_SORTCOLUMN);
    m_list.m_sortAscending = iniFile->Get(GLOBAL_BOOKMARKS_SORTASCENDING);

    DoDataExchange();

    return 0;
}
예제 #10
0
void CDataEntryDlg::ActiveEntryModePage(int nMode)
{
	CTabPage* pPage = m_apPages[nMode];
	if (pPage == NULL)
	{
		switch (nMode)
		{
		case 0:
		case 2:
			pPage = new CNumericEntryPage;
			((CNumericEntryPage *)pPage)->m_pExpert = m_pExpert;
			break;
		case 1:
			break;
		case 3:
			pPage = new CPushbuttonEntryPage;
			((CPushbuttonEntryPage *)pPage)->m_pExpert = m_pExpert;
			break;
		default:
			break;
		}

		m_apPages[nMode] = pPage;

		if (pPage != NULL)
		{
			CWindow winRect;
			winRect.Attach(GetDlgItem(IDC_RECT));
			RECT rc;
			winRect.GetWindowRect(&rc);
			ScreenToClient(&rc);
			
			pPage->Create(m_hWnd);
			rc.bottom -= 4;
			pPage->MoveTo(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);
		}
	}

	switch (nMode)
	{
	case 0:
	case 2:
		((CNumericEntryPage *)pPage)->m_strScript = m_pExpert->m_strActionScript;
		break;
	case 1:
		break;
	case 3:
		((CPushbuttonEntryPage *)pPage)->m_strScript = m_pExpert->m_strActionScript;
		break;
	default:
		break;
	}
	
	for (int i = 0; i < 4; i++)
	{
		pPage = m_apPages[i];
		if (pPage != NULL)
			pPage->Show(nMode == i);
	}
		
}
예제 #11
0
파일: findex.cpp 프로젝트: ALPHAMARIOX/pn
	void set(CWindow& wnd, CWindow& owner)
	{
		wnd.GetWindowRect(this);
		owner.ScreenToClient(this);
	}