⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jy_cl.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
📖 第 1 页 / 共 5 页
字号:
			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 + -