📄 jy_cl.c
字号:
SendDlgItemMessage(hDlg, IDL_CX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp); } } } break; case WM_CTLCOLOR: SetBkMode((HDC)wParam, TRANSPARENT); switch(HIWORD(lParam)) { case CTLCOLOR_DLG: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_LISTBOX: return (LRESULT)hBrush; } return (LRESULT)TRUE; case WM_DRAWITEM: lpdis = (LPDRAWITEMSTRUCT)lParam; if (lpdis->itemID == -1) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } } else { if(lpdis->itemAction&ODA_DRAWENTIRE) { if(lpdis->CtlType==ODT_BUTTON) BtnDrawEntireItem(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { i=lpdis->itemID; SendMessage(lpdis->hwndItem,LB_GETTEXT, (WPARAM)lpdis->itemID,(LPARAM)(LPSTR)tmp); SelectObject(lpdis->hDC,GetStockObject(SYSTEM_FIXED_FONT)); TextOut(lpdis->hDC,lpdis->rcItem.left,lpdis->rcItem.top,tmp,strlen(tmp)); } if(lpdis->itemState&ODS_SELECTED) { if(lpdis->CtlType==ODT_BUTTON) BtnSelectionState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) InvertRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); } if(lpdis->itemState&ODA_FOCUS) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); } return TRUE; } if(lpdis->itemAction&ODA_SELECT) { if(lpdis->CtlType==ODT_BUTTON) BtnSelectionState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) InvertRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } if(lpdis->itemAction&ODA_FOCUS) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } } break; case WM_MEASUREITEM: lpmis =(LPMEASUREITEMSTRUCT)(lParam); hDC =GetDC(hDlg); SelectObject(hDC,GetStockObject(SYSTEM_FIXED_FONT)); GetTextMetrics(hDC,&tm); lpmis->itemHeight =tm.tmHeight; ReleaseDC(hDlg,hDC); break; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); EndPaint(hDlg, &ps); break; case WM_TIMER: if(gnTimers++>60) SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); break; case WM_COMMAND: gnTimers =0; switch(wParam) { case IDCANCEL: udpread_stop =TRUE; KillTimer(hDlg, 1); DeleteObject(hBrush); EndDialog(hDlg, 0); ghDlgJy =NULL; break; } break; } return FALSE;}LRESULT CALLBACK WtcxDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){ static JY_ASK_WTCX WtcxData; static JY_ANS_WTCX WtcxRes; char tmp[256],gpmc[9]; int i,ret,j; PAINTSTRUCT ps; LPDRAWITEMSTRUCT lpdis; LPMEASUREITEMSTRUCT lpmis; TEXTMETRIC tm; HWND hDC; static BOOL fFirst =TRUE; static HBRUSH hBrush; switch(msg) { case WM_INITDIALOG: ghDlgJy =hDlg; fFirst =TRUE; memset(&WtcxData, 0, sizeof(WtcxData)); memset(&WtcxRes, 0, sizeof(WtcxRes)); WtcxData.jys =curChkUsrRes.jys; WtcxData.userId =curChkUsrRes.userId; WtcxRes.recCount =0; WtcxData.cdcx='N'; strcpy(WtcxData.gddm, curChkUsrRes.gddm); hBrush=CreateSolidBrush(RGB(0,255,255)); if(curChkUsrRes.jys==0) strcpy(tmp,"深圳A股"); if(curChkUsrRes.jys==1) strcpy(tmp,"上海A股"); strcat(tmp,"委托查询"); SetWindowText(hDlg,tmp); PostMessage(hDlg, WM_JY_INIT, 0, 0L); SetTimer(hDlg, 1, 1000, NULL); gnTimers =0; CenterWindow(hDlg); return TRUE; case WM_JY_INIT: if(!fFirst) break; SendDlgItemMessage(hDlg, IDL_CX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)"正在查询..."); gnTimers =0; if(gfTest) SendMessage(hDlg, WM_JYCX_RES, 0, 0L); else { if(UDP_Jy_Wtcx(&WtcxData, &WtcxRes) <0) { ErrMsg(hDlg, "通讯错误:不能将请求送到主机"); SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); } } break; case WM_JYCX_RES: gnTimers =0; if(gfTest) { ret=WtcxRes.flag=ANS_SUCC; WtcxRes.recCount=5; for(i=0;i<WtcxRes.recCount;i++) { sprintf(WtcxRes.Wt[i].hthm,"%d",i+112); strcpy(WtcxRes.Wt[i].wtsj,"091012"); WtcxRes.Wt[i].mmbz='S'; if(curChkUsrRes.jys==0) sprintf(WtcxRes.Wt[i].gpdm ,"%04d",1+i); else sprintf(WtcxRes.Wt[i].gpdm ,"%06ld",(long)(600600+i)); sprintf(WtcxRes.Wt[i].wtgs,"%d",i*100+50); sprintf(WtcxRes.Wt[i].wtjg,"%.2f",4.23*i+12.29); } } else ret=WtcxRes.flag; memset(&tmp[0], 0, sizeof(tmp)); if(fFirst) { fFirst =FALSE; SendDlgItemMessage(hDlg, IDL_CX, LB_RESETCONTENT, 0, 0L); } if(ret!=ANS_SUCC) { if(ret==1) strcpy(tmp,"无此股东代码!"); else if(ret==ANS_SYS_ERR) strcpy(tmp,"主机系统错!"); else if(ret==ANS_SUSP_REQ) strcpy(tmp,"主机正在处理您的上次请求!"); else if(ret==ANS_NO_PRIV) strcpy(tmp,"您没有权限进入主机!"); else strcpy(tmp,"未知系统错!"); SendDlgItemMessage(hDlg, IDL_CX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp); } else { if(WtcxRes.recCount==0) { strcpy(tmp,"没有您的委托资料"); SendDlgItemMessage(hDlg, IDL_CX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp); } else { for(i =0; i<WtcxRes.recCount; i++) { for(j=0;j<HqData[curChkUsrRes.jys].recCount;j++) { if(strncmp(HqData[curChkUsrRes.jys].lpPreData[j].zqdm, WtcxRes.Wt[i].gpdm,strlen(HqData[curChkUsrRes.jys].lpPreData[j].zqdm))==0) break; } if(j<HqData[curChkUsrRes.jys].recCount) { strncpy(gpmc,HqData[curChkUsrRes.jys].lpPreData[j].zqmc,8); gpmc[8]=0; } else strcpy(gpmc,WtcxRes.Wt[i].gpdm); sprintf(tmp, "%06s %8s %4s %8s %8s %8s", WtcxRes.Wt[i].hthm, WtcxRes.Wt[i].wtsj, (WtcxRes.Wt[i].mmbz=='B')?"买入": ((WtcxRes.Wt[i].mmbz=='S')?"卖出":"撤单"), gpmc, WtcxRes.Wt[i].wtgs,WtcxRes.Wt[i].wtjg); SendDlgItemMessage(hDlg, IDL_CX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp); } } } break; case WM_CTLCOLOR: SetBkMode((HDC)wParam, TRANSPARENT); switch(HIWORD(lParam)) { case CTLCOLOR_DLG: case CTLCOLOR_STATIC: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_LISTBOX: return (LRESULT)hBrush; } return (LRESULT)(HBRUSH)NULL; case WM_DRAWITEM: lpdis = (LPDRAWITEMSTRUCT)lParam; if (lpdis->itemID == -1) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } } else { if(lpdis->itemAction&ODA_DRAWENTIRE) { if(lpdis->CtlType==ODT_BUTTON) BtnDrawEntireItem(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { i=lpdis->itemID; SendMessage(lpdis->hwndItem,LB_GETTEXT, (WPARAM)lpdis->itemID,(LPARAM)(LPSTR)tmp); SelectObject(lpdis->hDC,GetStockObject(SYSTEM_FIXED_FONT)); TextOut(lpdis->hDC,lpdis->rcItem.left,lpdis->rcItem.top,tmp,strlen(tmp)); } if(lpdis->itemState&ODS_SELECTED) { if(lpdis->CtlType==ODT_BUTTON) BtnSelectionState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) InvertRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); } if(lpdis->itemState&ODA_FOCUS) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); } return TRUE; } if(lpdis->itemAction&ODA_SELECT) { if(lpdis->CtlType==ODT_BUTTON) BtnSelectionState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) InvertRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } if(lpdis->itemAction&ODA_FOCUS) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } } break; case WM_MEASUREITEM: lpmis =(LPMEASUREITEMSTRUCT)(lParam); hDC =GetDC(hDlg); SelectObject(hDC,GetStockObject(SYSTEM_FIXED_FONT)); GetTextMetrics(hDC,&tm); lpmis->itemHeight =tm.tmHeight; ReleaseDC(hDlg,hDC); break; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); EndPaint(hDlg, &ps); break; case WM_TIMER: if(gnTimers ++>60) SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); break; case WM_COMMAND: gnTimers =0; switch(wParam) { case IDCANCEL: udpread_stop =TRUE; KillTimer(hDlg, 1); EndDialog(hDlg, 0); ghDlgJy =NULL; break; } break; } return FALSE;}LRESULT CALLBACK CjcxDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){ static JY_ASK_CJCX CjcxData; static JY_ANS_CJCX CjcxRes; PAINTSTRUCT ps; LPDRAWITEMSTRUCT lpdis; LPMEASUREITEMSTRUCT lpmis; TEXTMETRIC tm; static int cWidth =0; static BOOL fFirst =TRUE; int i,ret,j; HDC hDC; char tmp[256],gpmc[9]; static hBrush; switch(msg) { case WM_INITDIALOG: ghDlgJy =hDlg; memset(&CjcxData, 0, sizeof(CjcxData)); memset(&CjcxRes, 0, sizeof(CjcxRes)); CjcxData.jys =curChkUsrRes.jys; CjcxData.userId =curChkUsrRes.userId; strcpy(CjcxData.gddm, curChkUsrRes.gddm); fFirst =TRUE; hDC =GetDC(hDlg); GetTextMetrics(hDC, &tm); cWidth =tm.tmAveCharWidth; ReleaseDC(hDlg, hDC); hBrush=CreateSolidBrush(RGB(0,255,255)); if(curChkUsrRes.jys==0) strcpy(tmp,"深圳A股"); if(curChkUsrRes.jys==1) strcpy(tmp,"上海A股"); strcat(tmp,"成交查询"); SetWindowText(hDlg,tmp); SendDlgItemMessage(hDlg, IDL_CJCX, LB_RESETCONTENT, 0, 0L); PostMessage(hDlg, WM_JY_INIT, 0, 0L); SetTimer(hDlg, 1, 1000, NULL); gnTimers =0; CenterWindow(hDlg); return TRUE; case WM_JY_INIT: SendDlgItemMessage(hDlg, IDL_CJCX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)"正在查询..."); gnTimers =0; if(gfTest) SendMessage(hDlg, WM_JYCX_RES, 0, 0L); else { if(UDP_Jy_Cjcx(&CjcxData, &CjcxRes) <0) { ErrMsg(hDlg, "通讯错误:不能将请求送到主机"); SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); } } break; case WM_JYCX_RES: gnTimers =0; if(gfTest) { CjcxRes.flag=ret =ANS_SUCC; CjcxRes.recCount =5; for(i=0;i<5;i++) { sprintf(CjcxRes.Cj[i].hthm ,"%d",12+i); strcpy(CjcxRes.Cj[i].cjsj ,"131012"); CjcxRes.Cj[i].mmbz ='B'; if(curChkUsrRes.jys==0) sprintf(CjcxRes.Cj[i].gpdm ,"%04d",1+i); else sprintf(CjcxRes.Cj[i].gpdm ,"%06ld",(long)(600600+i)); sprintf(CjcxRes.Cj[i].cjgs,"%d",100*(i+1)); sprintf(CjcxRes.Cj[i].cjjg,"%.2f",12.23+i*2); } } else ret=CjcxRes.flag; if(ret!=ANS_SUCC) { if(ret==1) strcpy(tmp,"无此股东代码!"); else if(ret==ANS_SYS_ERR) strcpy(tmp,"主机系统错!"); else if(ret==ANS_SUSP_REQ) strcpy(tmp,"主机正在处理您的上次请求!"); else if(ret==ANS_NO_PRIV) strcpy(tmp,"您没有权限进入主机!"); else strcpy(tmp,"未知系统错!"); MessageBox(hDlg, tmp, "成交查询", MB_OK); break; } if(fFirst) { fFirst =FALSE; SendDlgItemMessage(hDlg, IDL_CJCX, LB_RESETCONTENT, 0, 0L); } memset(&tmp[0], 0, sizeof(tmp)); if(CjcxRes.recCount==0) { strcpy(tmp,"您的委托尚未成交"); SendDlgItemMessage(hDlg, IDL_CJCX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp); } else { for(i =0; i<CjcxRes.recCount; i++) { for(j=0;j<HqData[curChkUsrRes.jys].recCount;j++) { if(strncmp(HqData[curChkUsrRes.jys].lpPreData[j].zqdm, CjcxRes.Cj[i].gpdm,strlen(HqData[curChkUsrRes.jys].lpPreData[j].zqdm))==0) break; } if(j<HqData[curChkUsrRes.jys].recCount) { strncpy(gpmc,HqData[curChkUsrRes.jys].lpPreData[j].zqmc,8); gpmc[8]=0; } else strcpy(gpmc,CjcxRes.Cj[i].gpdm); sprintf(tmp, "%06s %8s %4s %8s %8s %8s", CjcxRes.Cj[i].hthm, CjcxRes.Cj[i].cjsj, (CjcxRes.Cj[i].mmbz=='B')?"买入": ((CjcxRes.Cj[i].mmbz=='S')?"卖出":"撤单"), gpmc, CjcxRes.Cj[i].cjgs, CjcxRes.Cj[i].cjjg); if(SendDlgItemMessage(hDlg, IDL_CJCX, LB_ADDSTRING, 0, (LPARAM)(LPSTR)tmp)==LB_ERR) break; } } break; case WM_CTLCOLOR: SetBkMode((HDC)wParam, TRANSPARENT); switch(HIWORD(lParam)) { case CTLCOLOR_DLG: case CTLCOLOR_STATIC: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_LISTBOX: return (LRESULT)hBrush; } return (LRESULT)NULL; case WM_DRAWITEM: lpdis = (LPDRAWITEMSTRUCT)lParam; if (lpdis->itemID == -1) { if(lpdis->CtlType==ODT_BUTTON) BtnFocusState(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { DrawFocusRect(lpdis->hDC,(LPRECT)&lpdis->rcItem); return TRUE; } } else { if(lpdis->itemAction&ODA_DRAWENTIRE) { if(lpdis->CtlType==ODT_BUTTON) BtnDrawEntireItem(lpdis); if(lpdis->CtlType==ODT_LISTBOX) { i=lpdis->itemID; SendMessage(lpdis->hwndItem,LB_GETTEXT, (WPARAM)lpdis->itemID,(LPARAM)(LPSTR)tmp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -