1,978
社区成员
发帖
与我相关
我的任务
分享
public ref class MainForm : public System::Windows::Forms::Form
{
public:
MainForm(CNetWorkImpl* m_Impl_)
{
InitializeComponent();
comboBoxEx1->SelectedIndex = 0;
comboBoxEx2->SelectedIndex = 0;
textBoxX_CodeSignal->Enabled = false;
textBoxX_CodeTrade->Enabled = false;
checkBoxX_AllData->Checked = true;
dateTimeInput_Start->Enabled = false;
dateTimeInput_End->Enabled = false;
textBoxX_KlineCount->Enabled = false;
m_SyncContext = SynchronizationContext::Current;
m_Impl = m_Impl_;
m_Impl->IniImpl(atoi(cfg.GetValue("network","port").c_str()), cfg.GetValue("network","ip").c_str(), (HWND)this->Handle.ToPointer());
}
//...其他方法、属性
private:
CNetWorkImpl* m_Impl;
};
}
#define NETWORK_CONNECTED (WM_USER)+0x01
class CNetWorkImpl : public CAsioNetWorkSpi
{
public:
CNetWorkImpl(const char* pFilePath) : bConnected(false),pApi(nullptr) {
strcpy_s(szFilePath, pFilePath);
}
void IniImpl(unsigned int nPort, const char* pAddress,HWND hwnd)
{
pApi = CAsioNetWorkApi::CreateNewWorkApi();
pApi->RegistSpi(this);
pApi->ConnectService(nPort, const_cast<char*>(pAddress));
upper_layer = hwnd;
}
void OnRspConnect()
{
bConnected = true;
::SendMessage(upper_layer, NETWORK_CONNECTED, NULL, NULL);
}
}
protected : virtual void WndProc(Message% m) override
{
switch (m.Msg)
{
case NETWORK_CONNECTED:
//do your event
MessageBox::Show("connect ok.");
break;
}
//this->Form是我的基类
this->Form::WndProc(m);
}
protected:
virtual void WndProc(
Message% m
) override
public ref class MainForm : public System::Windows::Forms::Form
protected : virtual void WndProc(System::Windows::Forms::Message m) override
{
switch (m.Msg)
{
case NETWORK_CONNECTED:
//do your event
MessageBox::Show("connect ok.");
break;
}
}
protected : virtual void DefWndProc(System::Windows::Forms::Message m) override
{
switch (m.Msg)
{
case NETWORK_CONNECTED:
//do your event
MessageBox::Show("connect ok.");
break;
}
}
protected: void WndProc(Message^ message)
{
switch (message->Msg)
{
case NETWORK_CONNECTED:
//do your event
MessageBox::Show("connect ok.");
break;
}
}
protected override void WndProc(ref Message message)
{
switch (message.Msg)
{
case NETWORK_CONNECTED:
//do your event
break;
}
base.WndProc(ref message);
}