Position eines Feldes im Fenster



  • Hi!

    Wieder eine dumme Frage...
    Ich habe das Handle auf ein Fenster mit einigen Buttons/Feldern/usw und suche eine Funktion die mir die X und Y Koordinate der linken oberen Ecke eines best. Element in Bezug zum Hauptfenster gibt.
    Ich kenne die GetWindowRect Funktion, aber die Hilft mir nicht weiter.
    Möchte einen ToolTip über einen best. bereich legen.

    Danke!





  • Nun gut. Es funtioniert nicht wirklich. Er setzt das Fenster ganz komisch,
    kann mir jemand sagen warum?

    TOOLINFO ti;
    	UINT uid = 0;
    	RECT rect;
    	POINT point;
    
    	GetWindowRect ( GetDlgItem ( m_hWnd, IDC_BIG_SCREEN ), &rect );	
    
            //Zeigt in das Feld
    	point.x = 200;
    	point.y = 50;
    
    	ScreenToClient(m_hWnd,&point);
    
    	//Laden des Stringd
    	TCHAR szBuf [200];
    	LoadString ( getResInst(), IDS_CHANNEL_1, szBuf, 200 );
    
    	ti.cbSize = sizeof(TOOLINFO);
            ti.uFlags = TTF_SUBCLASS;
    	ti.hwnd = m_hWnd;
            ti.hinst = getResInst();
            ti.uId = uid;
            ti.lpszText = szBuf;
    	ti.rect.left = point.x;    
    	ti.rect.top = point.y;
    	ti.rect.right = rect.right - rect.left;
    	ti.rect.bottom = rect.bottom - rect.top;
    
    	SendMessage(hwndTT,TTM_ADDTOOL,0,(LPARAM)&ti);
    


  • RECT rcButton;
    POINT ptButton;
    
    GetWindowRect(GetDlgItem(m_hWnd,IDC_BIG_SCREEN),&rcButton);   
    
    ptButton.x = rcButton.left;
    ptButton.y = rcButton.top;
    
    ScreenToClient(m_hWnd,&ptButton);
    

    So irgendwie hatte ich mir das vorgestellt - weiß aber nicht, ob es auch wirklich funktioniert 😉



  • Hm... Danke dir! Es funktioniert perfekt!!!! 🙂


Anmelden zum Antworten