Witam!
Otóż robie projekt kalambur.
Wyglada on mniej wiecej tak
Jako jedynka jest oznaczona stworzona przeze mnie kontrolka MyCustomControl dziedziczona z CWnd.
Odświeżanie wyglada tak że zapisuje zbiór punktów (x,y) do obiektu typu COblist m_Oblist i nastepnie wywołuje przy operacji OnMouseMove , odmalowanie (OnPaint).
Dodatkow stworzyłem sobie klasa CLine ktora zawiera rzeczy zwiazane z rysowaniem punktow.
void MyCustomControl::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_Draw == true)
{
m_Line.m_End = point;
m_ObList.AddHead(new CLine(m_Line));
m_Line.m_Begin=m_Line.m_End;
Invalidate();
}
CWnd::OnMouseMove(nFlags, point);
}
void MyCustomControl::OnPaint()
{
CPaintDC dc(this); //przechwyt kontekstu
POSITION Position; //zamiast int daje POSITION
for(int i = 0; i < m_ObList.GetCount(); i++) //GetCount zawraca ilosc elementow w m_Oblist
{
Position = m_ObList.FindIndex(i);//wybrana pozycja
CLine * m_pLine = (CLine *) m_ObList.GetAt(Position); //GetAt pobiera z wskazanej pozycji elementy i rzutuje na Line
m_pLine->Draw(&dc); //rysuje Draw przyjmuje kontekst i kolor
} //m_pLine zawiera juz zmienne m_Begin i m_End
// m_Line.Draw(&dc, RGB(0, 255, 0));
}
Problem tkwi teraz w tym ze nie bardzo wiem jak przysać dane przez sieć.
Znam juz mniej wiecej zasade funkcjonowania OnSend i OnReceive .
Udało mi sie nawizać połaczenie .
Stworzyłem własna klase socketu
class CMojeGniazdo : public CAsyncSocket
{
// Attributes
public:
// Operations
public:
CMojeGniazdo();
virtual ~CMojeGniazdo();
// Overrides
public:
void UstawOjca(CDialog* pWnd);
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMojeGniazdo)
public:
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CMojeGniazdo)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
virtual void OnSend(int ErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnAccept(int nErrorCode);
virtual void OnConnect(int nErrorCode);
private:
CDialog* m_pWnd;
}
Natomiast w dialogu głownym mam dwie zmienne :
CMojeGniazdo m_sGniazdoPolaczenia;
CMojeGniazdo m_sGniazdoSluchajace;
Które służa do nasłuchiwania na porcie (m_sGniazdoSluchajace;) oraz do wysyłania danych w obie strony (m_sGniazdoPolaczenia;).
Czy ktos mógłby jakoś po krótce zasugerować jak najłatwiej bedzie przesyłać rysowane linie.
Wszedzie sa tylko przykłady zwiazane z tekstem .
pozdrawiam