Forum » Programiranje » MFC
MFC
MV ::
Del programa:
CDC* tabla;
tabla=GetDC();
Ko zaženem program in se premikam z miško po oknu bi rad, da bi se izpisovale koordinate trenutne pozicije miške v status bar.
Kako naj to naredim?
CDC* tabla;
tabla=GetDC();
Ko zaženem program in se premikam z miško po oknu bi rad, da bi se izpisovale koordinate trenutne pozicije miške v status bar.
Kako naj to naredim?
- spremenil: MV ()
wintermute ::
Uhhh... tezko se bos naucil MFC preko foruma. Lahko bi vsaj povedal za kaksno aplikacijo gre. Ce uporabljas document/view arhitekturo, se to naredi takole:
1. V tvoj view (recimo CMyView) dodaj spremenljivko tipa CString:
 
 
2. Dodaj razredu CMyView handler za WM_MOUSEMOVE (najlazje preko Class Viewa).
Implementacija naj bo:
 
 
3. Status baru dodaj panel (vprasaj, ce ne ves kako). Recimo da mu das oznako (command ID)
ID_MOUSEPOS.
4. Dodaj razredu CMyView update handler.
Najprej vnos v message map:
 
 
Ustrezna deklaracija handlerja (das v CMyView header) je:
 
 
Implementacija pa naj bo:
 
 
To je to (ce nisem kaj pozabil).
1. V tvoj view (recimo CMyView) dodaj spremenljivko tipa CString:
class CMyView
{
// ...
private:
CString m_mousePos;
// ...
};
 
 
2. Dodaj razredu CMyView handler za WM_MOUSEMOVE (najlazje preko Class Viewa).
Implementacija naj bo:
void CMyView::OnMouseMove(UINT nFlags, CPoint point)
{
m_mousePos.Format("%d, %d", point.x, point.y);
CView::OnMouseMove(nFlags, point);
}
 
 
3. Status baru dodaj panel (vprasaj, ce ne ves kako). Recimo da mu das oznako (command ID)
ID_MOUSEPOS.
4. Dodaj razredu CMyView update handler.
Najprej vnos v message map:
BEGIN_MESSAGE_MAP(CMyView, CView)
// ...
ON_UPDATE_COMMAND_UI(ID_MOUSEPOS, OnUpdateMousePos)
END_MESSAGE_MAP()
 
 
Ustrezna deklaracija handlerja (das v CMyView header) je:
void OnUpdateMousePos(CCmdUI* pCmdUI);
 
 
Implementacija pa naj bo:
void CMyView::OnUpdateMousePos(CCmdUI* pCmdUI)
{
pCmdUI->Enable();
pCmdUI->SetText(m_mousePos);
}
 
 
To je to (ce nisem kaj pozabil).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] ukaz radirkaOddelek: Programiranje | 1109 (902) | japol |
» | [c#] Risanje z miškoOddelek: Programiranje | 1423 (1104) | japol |
» | [Silverlight 4] Omejeno premikanje elementov v canvasuOddelek: Programiranje | 1224 (1104) | xordie |
» | [C++] preprosto risanjeOddelek: Programiranje | 1659 (1536) | popec |
» | Dreamweaver 4 -- helpOddelek: Omrežja in internet | 1295 (1149) | Elemen_T |