📄 jy_cl.c
字号:
if (lpdis->itemID == -1) BtnFocusState(lpdis); else { switch (lpdis->itemAction) { case ODA_DRAWENTIRE: BtnDrawEntireItem(lpdis); break; case ODA_SELECT: BtnSelectionState(lpdis); break; case ODA_FOCUS: BtnFocusState(lpdis); break; } } break; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); hctl =GetDlgItem(hDlg, IDC_LIST1); SetFocus(hctl); EndPaint(hDlg, &ps); break; case WM_COMMAND: switch(wParam) { case IDOK: dw =SendDlgItemMessage(hDlg,IDC_LIST1,LB_GETCURSEL, 0 , 0); if(dw!=LB_ERR) { SendDlgItemMessage(hDlg,IDC_LIST1,LB_GETTEXT,(WPARAM)dw,(LPARAM)(LPSTR)temp); curChkUsrData.zqsid=(int)dw +1; DeleteObject(hBrush); ghDlgJy =NULL; EndDialog(hDlg,(int)dw+1); } else { ErrMsg(ghWndMain,"选择券商出错"); DeleteObject(hBrush); ghDlgJy =NULL; EndDialog(hDlg, 0); } break; case IDCANCEL: DeleteObject(hBrush); ghDlgJy =NULL; EndDialog(hDlg, 0); break; } break; } return FALSE; }////////将交易密码和股东代码存在本地,以后不再由server检验密码LRESULT CALLBACK ChkUsrDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; int ret; char tmp[60]; HWND hctl; int idFocus; LPDRAWITEMSTRUCT lpdis; HFONT hFont; LOGFONT lf; static HBRUSH hBrush; RECT rc; HDC hDC; DWORD dw; switch(msg) { case WM_INITDIALOG: ghDlgJy =hDlg; curChkUsrData.gddm[0] =0; curChkUsrData.jymm[0] =0; curChkUsrData.jys =curChkUsrRes.jys; curChkUsrData.sdHq =sdHq; SendDlgItemMessage(hDlg, IDC_INPUT, EM_LIMITTEXT, MAX_GDDM_SIZE, 0L); SendDlgItemMessage(hDlg, IDC_INPUT1, EM_LIMITTEXT, MAX_JYMM_SIZE, 0L); CenterWindow(hDlg); gnTimers =0; hBrush=CreateSolidBrush(RGB(0,255,255)); return TRUE; case WM_CTLCOLOR: SetBkMode((HDC)wParam, TRANSPARENT); switch(HIWORD(lParam)) { case CTLCOLOR_DLG: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_MSGBOX: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_LISTBOX: case CTLCOLOR_EDIT: return (LRESULT)(HBRUSH)hBrush; } return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case WM_DRAWITEM: lpdis = (LPDRAWITEMSTRUCT)lParam; if (lpdis->itemID == -1) BtnFocusState(lpdis); else { switch (lpdis->itemAction) { case ODA_DRAWENTIRE: BtnDrawEntireItem(lpdis); break; case ODA_SELECT: BtnSelectionState(lpdis); break; case ODA_FOCUS: BtnFocusState(lpdis); break; } } break; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); GetClientRect(hDlg, &rc); SetBkMode(ps.hdc,TRANSPARENT); memset(&lf,0,sizeof(lf)); strcpy(lf.lfFaceName, "Termianl"); lf.lfWeight =FW_NORMAL; lf.lfCharSet = ANSI_CHARSET; lf.lfPitchAndFamily = FF_SCRIPT; lf.lfHeight=24; hFont =CreateFontIndirect(&lf); SelectObject(ps.hdc,hFont); SetTextColor(ps.hdc,RGB(0,0,0)); TextOut(ps.hdc,rc.left+20,44,"股东代码",8); SetTextColor(ps.hdc,RGB(255,255,255)); TextOut(ps.hdc,rc.left+20-1,44-1,"股东代码",8); SetTextColor(ps.hdc,RGB(0,0,0)); TextOut(ps.hdc,rc.left+20,84,"交易密码",8); SetTextColor(ps.hdc,RGB(255,255,255)); TextOut(ps.hdc,rc.left+20-1,84-1,"交易密码",8); if(curChkUsrData.zqsid !=0) { strcpy(tmp,&Qsxx.zqsjc[curChkUsrData.zqsid -1][0]); strcat(tmp,"欢迎您"); } SetTextColor(ps.hdc,RGB(0,0,0)); TextOut(ps.hdc,rc.left+20,rc.top +15,tmp,strlen(tmp)); SetTextColor(ps.hdc,RGB(255,255,255)); TextOut(ps.hdc,rc.left+20-1,rc.top +15-1,tmp,strlen(tmp)); DeleteObject(hFont); EndPaint(hDlg, &ps); break; case WM_TIMER: hDC =GetDC(hDlg); GetClientRect(hDlg, &rc); rc.right =rc.right -40; rc.bottom =rc. bottom -15; strcpy(tmp,"88"); dw=GetTextExtent(hDC,tmp,strlen(tmp)); rc.left =rc.right -LOWORD(dw)-12; rc.top = rc.bottom -HIWORD(dw); SelectObject(hDC,GetStockObject(WHITE_PEN)); MoveTo(hDC,rc.left+1,rc.top-1); LineTo(hDC,rc.right+1,rc.top-1); MoveTo(hDC,rc.left-1,rc.top+1); LineTo(hDC,rc.left-1,rc.bottom+1); SelectObject(hDC,GetStockObject(BLACK_PEN)); MoveTo(hDC,rc.right+1,rc.top+1); LineTo(hDC,rc.right+1,rc.bottom+1); MoveTo(hDC,rc.left+1,rc.bottom+1); LineTo(hDC,rc.right+1,rc.bottom+1); wsprintf(tmp,"%d",MAX_JY_WAIT_TIME-gnTimers); if(MAX_JY_WAIT_TIME-gnTimers<10) { tmp[1]=tmp[0]; tmp[0]='0'; } SetBkColor(hDC,RGB(255,0,255)); SetTextColor(hDC,RGB(255,255,0)); dw=GetTextExtent(hDC,tmp,strlen(tmp)); ExtTextOut(hDC,(int)(rc.right-rc.left-LOWORD(dw))/2+rc.left, rc.top, ETO_CLIPPED|ETO_OPAQUE, &rc,tmp , 2, NULL); ReleaseDC(hDlg, hDC); if(gnTimers++ >=MAX_JY_WAIT_TIME) { SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); break; } break; case WM_COMMAND: gnTimers =0; switch(wParam) { case IDOK: hctl =GetFocus(); idFocus =GetWindowWord(hctl, GWW_ID); if(idFocus ==IDCANCEL) { SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); break; } hctl =GetDlgItem(hDlg, IDC_INPUT); if(curChkUsrData.gddm[0] ==0) { GetDlgItemText(hDlg, IDC_INPUT, curChkUsrData.gddm, sizeof(curChkUsrData.gddm)); if(curChkUsrData.gddm[0] !=0) { hctl =GetDlgItem(hDlg, IDC_INPUT1); SetFocus(hctl); } break; } GetDlgItemText(hDlg, IDC_INPUT1, curChkUsrData.jymm, sizeof(curChkUsrData.jymm)); if(curChkUsrData.jymm[0] ==0) break; EnableWindow(hDlg, FALSE); hctl =GetDlgItem(hDlg, IDOK); SetFocus(hctl); if(gfTest) SendMessage(hDlg,WM_JY_RES,0,0L); else { SetTimer(hDlg, 1, 1000, NULL); ret =UDP_Jy_ChkUsr(&curChkUsrData, &curChkUsrRes); if(ret <0) { ErrMsg(hDlg, "Failed send data"); SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L); } } break; case IDCANCEL: KillTimer(hDlg, 1); if(curChkUsrData.jymm[0] !=0) SendJyExit(curChkUsrData.gddm); udpread_stop =TRUE; ghDlgJy =NULL; DeleteObject(hBrush); EndDialog(hDlg, 1); break; } break; case WM_JY_RES: if(gfTest) { curChkUsrRes.userId =1; curChkUsrRes.flag=ret =ANS_SUCC; } else ret =curChkUsrRes.flag; if(ret!=ANS_SUCC) { curChkUsrRes.userId=0; switch(ret) { case '1': strcpy(tmp,"请您注意,无此股东代码!"); break; case '2': strcpy(tmp,"请您注意,您已被删除!"); break; case '3': strcpy(tmp,"请您注意,您已挂失!"); break; case '4': strcpy(tmp,"请您注意,您已被冻结!"); break; case '5': strcpy(tmp,"请您注意,没有您的密码"); break; case '6': strcpy(tmp,"股东代码与交易密码不符!"); break; case ANS_SYS_ERR: strcpy(tmp,"请您注意,主机系统错!"); break; case ANS_SUSP_REQ: strcpy(tmp,"主机正在处理您的上次请求!"); break; case ANS_NO_PRIV: strcpy(tmp,"您没有权限进入主机!"); break; default: strcpy(tmp,"请您注意,未知错误"); } MessageBox(ghDlgJy, tmp,"用户检验", MB_OK); } KillTimer(hDlg, 1); ghDlgJy =NULL; EndDialog(hDlg, 1); break; } return FALSE;}LRESULT CALLBACK JyDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; LPDRAWITEMSTRUCT lpdis; HWND hctl; int x,i,Width,gap; RECT rc; static HBRUSH hBrush; int GpFunc[8]={IDC_JY_BUY,IDC_JY_SELL,IDC_JY_CANCEL,IDC_JY_CJCX,IDC_JY_WTCX, IDC_JY_YECX,IDC_JY_CHGPWD,IDC_EXIT}; switch(msg) { case WM_INITDIALOG: gnTimers =0; x =GetSystemMetrics(SM_CXSCREEN); GetWindowRect(ghWndStatus,&rc); SetWindowPos(hDlg,(HWND)HWND_TOP,0,rc.top, x , rc.bottom-rc.top,SWP_NOZORDER); gap =4; Width =(x-gap*9)/8; for(i=0;i<8;i++) { hctl =GetDlgItem(hDlg,GpFunc[i]); SetWindowPos(hctl,(HWND)NULL,(Width+gap)*i +gap,3,Width, rc.bottom-rc.top-8,SWP_NOZORDER); } hBrush=CreateSolidBrush(RGB(0,255,255)); SetTimer(hDlg, 1, 500, NULL); return TRUE; case WM_CTLCOLOR: switch(HIWORD(lParam)) { case CTLCOLOR_DLG: return (LRESULT)hBrush; case CTLCOLOR_MSGBOX: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); } //SetBkMode((HDC)wParam, TRANSPARENT); return (LRESULT)NULL; case WM_DRAWITEM: lpdis = (LPDRAWITEMSTRUCT)lParam; if (lpdis->itemID == -1) BtnFocusState(lpdis); else { switch (lpdis->itemAction) { case ODA_DRAWENTIRE: BtnDrawEntireItem(lpdis); break; case ODA_SELECT: BtnSelectionState(lpdis); break; case ODA_FOCUS: BtnFocusState(lpdis); break; } } break; case WM_TIMER: if(gnTimers+10>MAX_IDEL_TIME*2) { if(gnTimers*(int)(gnTimers/2)==gnTimers) { DrawTime(-3); MessageBeep(0); } else DrawTime(-2); } if(gnTimers++ >MAX_IDEL_TIME*2) { curChkUsrRes.flag =-1; gnTimers =0; curChkUsrRes.userId=0; SendMessage(hDlg, WM_COMMAND, IDC_EXIT, 0L); } break; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); EndPaint(hDlg, &ps); break; case WM_COMMAND: gnTimers =0; switch(wParam) { case IDC_JY_BUY: JyFunc = BUY_FUNC; break; case IDC_JY_SELL: JyFunc = SELL_FUNC; break; case IDC_JY_CANCEL: JyFunc = CANCEL_FUNC; break; case IDC_JY_CJCX: JyFunc =CJCX_FUNC; break; case IDC_JY_WTCX: JyFunc = WTCX_FUNC; break; case IDC_JY_YECX: JyFunc = YECX_FUNC; break; case IDC_JY_CHGPWD: JyFunc =CHGPWD_FUNC; break; case IDOK: hctl =GetFocus(); SendMessage(hDlg, WM_COMMAND, GetWindowWord(hctl, GWW_ID), 0L); break; case IDC_EXIT: JyFunc =EXIT_FUNC; case IDCANCEL: KillTimer(hDlg, 1); DeleteObject(hBrush); if(JyFunc!=EXIT_FUNC) JyFunc = NULL_FUNC; break; default: return FALSE; } EndDialog(hDlg, 0); break; } return FALSE;}LRESULT CALLBACK AskPwdDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){ static JY_ASK_CHGPWD ChgPwdData; static JY_ANS_CHGPWD ChgPwdRes; PAINTSTRUCT ps; static int state =0; char tmp[60]; HWND hctl; static HBRUSH hBrush; switch(msg) { case WM_INITDIALOG: ghDlgJy =hDlg; SendDlgItemMessage(hDlg, IDC_OLDPWD, EM_LIMITTEXT, MAX_JYMM_SIZE, 0L); CenterWindow(hDlg); //ChgPwdData.newPwd[0] =0; hBrush=CreateSolidBrush(RGB(0,255,255)); IsCanPwdChg =FALSE; return TRUE; case WM_CTLCOLOR: SetBkMode((HDC)wParam, TRANSPARENT); switch(HIWORD(lParam)) { case CTLCOLOR_DLG: return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH); case CTLCOLOR_EDIT: return (LRESULT)hBrush; } return TRUE; case WM_PAINT: BeginPaint(hDlg, &ps); DrawFrame(ps.hdc, hDlg); EndPaint(hDlg, &ps); break; case WM_COMMAND: gnTimers =0; switch(wParam) { case IDOK: hctl =GetDlgItem(hDlg, IDC_OLDPWD); SetFocus(hctl); GetDlgItemText(hDlg, IDC_OLDPWD, tmp, sizeof(tmp)); //if(tmp[0] ==0) // break; if(strcmp(tmp,curChkUsrData.jymm)==0) { IsCanPwdChg =TRUE; EndDialog(hDlg, 0); ghDlgJy =NULL; } else { ErrMsg(hDlg, "输入密码错,不能修改密码!"); IsCanPwdChg =FALSE; EndDialog(hDlg, 0); ghDlgJy =NULL; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -