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

📄 jy_cl.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
📖 第 1 页 / 共 5 页
字号:
				break;				case IDCANCEL:					IsCanPwdChg =FALSE;					EndDialog(hDlg, 0);					ghDlgJy =NULL;				break;			}		break;	}		return FALSE;}LRESULT CALLBACK ChgPwdDlgProc(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;	int ret;		switch(msg)	{		case WM_INITDIALOG:			ghDlgJy =hDlg;			memset(&ChgPwdData, 0, sizeof(ChgPwdData));			memset(&ChgPwdRes, 0, sizeof(ChgPwdRes));			ChgPwdData.jys =curChkUsrRes.jys;			ChgPwdData.userId =curChkUsrRes.userId;			strcpy(ChgPwdData.gddm, curChkUsrRes.gddm);			state =0;			gnTimers =0;			SendDlgItemMessage(hDlg, IDC_NEWPWD, EM_LIMITTEXT, MAX_JYMM_SIZE, 0L);			CenterWindow(hDlg);			ChgPwdData.newPwd[0] =0;			hBrush=CreateSolidBrush(RGB(0,255,255));						SetTimer(hDlg, 1, 1000, NULL);		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_TIMER:			if(gnTimers ++>60)				SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L);		break;				case WM_COMMAND:			gnTimers =0;			switch(wParam)			{				case IDOK:					if(state >=2) break;					//if(ChgPwdData.newPwd[0] !=0) break;					hctl =GetDlgItem(hDlg, IDC_NEWPWD);					SetFocus(hctl);					GetDlgItemText(hDlg, IDC_NEWPWD, tmp, sizeof(tmp));					if(state ==0)					{						if(tmp[0] ==0)							break;						strcpy(ChgPwdData.newPwd, tmp);						SetDlgItemText(hDlg, IDC_COMMENT, "重输一次");						SetDlgItemText(hDlg, IDC_NEWPWD, "");						state =1;						break;					}					if(strcmp(ChgPwdData.newPwd, tmp))					{						ErrMsg(hDlg, "两次输入要相同!\n请重新输入");						SetDlgItemText(hDlg, IDC_COMMENT, "新密码");						SetDlgItemText(hDlg, IDC_NEWPWD, "");						state =0;						break;					}					state =2;					UDP_Jy_ChgPwd(&ChgPwdData, &ChgPwdRes);				break;				case IDCANCEL:					udpread_stop =TRUE;					KillTimer(hDlg, 1);					EndDialog(hDlg, 0);					ghDlgJy =NULL;				break;			}		break;		case WM_JY_RES:			ret=ChgPwdRes.flag;			if(ret!=ANS_SUCC)			{				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,"请您注意,未知错误");                }			}			else			{				strcpy(tmp,"您的密码已修改!");			}			MessageBox(ghDlgJy, tmp,"修改密码", MB_OK);			KillTimer(hDlg, 1);			ghDlgJy =NULL;			DeleteObject(hBrush);			EndDialog(hDlg, 0);		break;	}		return FALSE;}LRESULT CALLBACK BuySellDlgProc(HWND hDlg, UINT msg,					WPARAM wParam, LPARAM lParam){	static JY_ASK_BUYSELL BuySellData;	static JY_ANS_BUYSELL BuySellRes;	int i, k,ret;	DWORD dw;	char tmp[100], tmp1[100];	PAINTSTRUCT ps;	HWND hctl;	LPDRAWITEMSTRUCT lpdis;	static int state =0;	int idFocus;	static HBRUSH hBuyBrush,hSellBrush;	RECT rc;	HDC hdc;						switch(msg)	{		case WM_INITDIALOG:			gnTimers =0;			ghDlgJy =hDlg;			memset(&BuySellData, 0, sizeof(BuySellData));			memset(&BuySellRes, 0, sizeof(BuySellRes));			BuySellData.jys =curChkUsrRes.jys;			strcpy(BuySellData.gddm, curChkUsrRes.gddm);						if(BuySellData.jys==0)				strcpy(tmp,"深圳A股");			if(BuySellData.jys==1)					strcpy(tmp,"上海A股");										BuySellData.wtgs =0;			BuySellData.wtjg =0;			BuySellData.bs =(char)lParam;			BuySellData.userId =curChkUsrRes.userId;			if(BuySellData.bs =='B')			{				SetDlgItemText(hDlg, IDOK, "买入");				strcat(tmp,"股票买入");			}				else			{ 				SetDlgItemText(hDlg, IDOK, "卖出");					strcat(tmp,"股票卖出");			}                             			SetWindowText(hDlg,tmp);                             						SendDlgItemMessage(hDlg, IDC_ZQDM, CB_LIMITTEXT, MAX_ZQDM_SIZE, 0L);			SendDlgItemMessage(hDlg, IDC_JG, EM_LIMITTEXT, 7, 0L);			SendDlgItemMessage(hDlg, IDC_SL, EM_LIMITTEXT, 8, 0L);			i =HqPaintData.sortData.key[HqPaintData.curRecNum+HqPaintData.curSelRec];			strcpy(tmp, HqData[HqPaintData.jys].lpPreData[i].zqmc);			k =-1;			for(i =0; i<HqData[BuySellData.jys].recCount; i++)			{     				//if(!IsZsRec(BuySellData.jys, i))				//{					SendDlgItemMessage(hDlg, IDC_ZQDM, CB_ADDSTRING,						0, (LPARAM)(LPSTR)HqData[BuySellData.jys].lpPreData[i].zqmc);					if(!strcmp(tmp, HqData[BuySellData.jys].lpPreData[i].zqmc))						k =i;				//}			}			SendDlgItemMessage(hDlg, IDC_ZQDM, CB_SETCURSEL, k, 0L);			gnTimers =0;			state =0;			SetTimer(hDlg, 1, 1000, NULL);						hBuyBrush=CreateSolidBrush(RGB(255,0,255));			hSellBrush=CreateSolidBrush(RGB(0,255,255));						SetDlgItemText(hDlg,IDC_STATIC,"证券代码");			SetDlgItemText(hDlg,IDC_STATIC2,"委托数量");			SetDlgItemText(hDlg,IDC_STATIC1,"委托价格");									CenterWindow(hDlg);		return TRUE;		case WM_CTLCOLOR:			SetBkMode((HDC)wParam, TRANSPARENT);			switch(HIWORD(lParam))			{				case CTLCOLOR_STATIC:							case CTLCOLOR_DLG:  					if(BuySellData.bs =='B')						return (LRESULT)hBuyBrush;					else						return (LRESULT)hSellBrush;										case CTLCOLOR_MSGBOX:					return (LRESULT)(HBRUSH)GetStockObject(LTGRAY_BRUSH);				case CTLCOLOR_LISTBOX:				case CTLCOLOR_EDIT:						return (LRESULT)(HBRUSH)NULL;								}		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_PAINT:			BeginPaint(hDlg, &ps);			DrawFrame(ps.hdc, hDlg);			EndPaint(hDlg, &ps);		break;		case WM_TIMER:			if(gnTimers++ >300)				SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0L);		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;					}					//if(BuySellData.wtgs !=0 && BuySellData.wtjg !=0) break;					GetDlgItemText(hDlg, IDC_ZQDM, tmp, sizeof(tmp));					hctl =GetDlgItem(hDlg, IDC_ZQDM);					if(tmp[0] ==0)					{						SetFocus(hctl);						break;					}					for(i =0; i<HqData[BuySellData.jys].recCount; i++)						if(!strcmp(HqData[BuySellData.jys].lpPreData[i].zqdm, tmp))							break;					if(i < HqData[BuySellData.jys].recCount)					{						SendDlgItemMessage(hDlg, IDC_ZQDM, CB_SETCURSEL, i, 0L);						strcpy(BuySellData.gpdm, HqData[BuySellData.jys].lpPreData[i].zqdm);					}					else					{						dw =SendDlgItemMessage(hDlg, IDC_ZQDM, CB_GETCURSEL, 0, 0L);						if(dw ==CB_ERR)						{							SetDlgItemText(hDlg, IDC_ZQDM, "");							SetFocus(hctl);							break;						}						i =(int)dw;						SendDlgItemMessage(hDlg, IDC_ZQDM, CB_GETLBTEXT, i, (LPARAM)(LPSTR)tmp1);						if(!strcmp(tmp1, tmp))							strcpy(BuySellData.gpdm, HqData[BuySellData.jys].lpPreData[i].zqdm);						else						{							SetDlgItemText(hDlg, IDC_ZQDM, "");							SetFocus(hctl);							break;						}					}											//if(state ==1) goto ACCEPT;															//GetDlgItemText(hDlg, IDC_JG, tmp, sizeof(tmp));					hctl =GetDlgItem(hDlg, IDC_JG);					SetFocus(hctl);					if(idFocus !=IDOK && idFocus !=IDC_JG							&& idFocus !=IDC_SL)					{						if(IsWindowVisible(ghWndHq))						{							for(k =0; k<HqPaintData.recCount; k++)							{								if(IsZsRec(HqPaintData.jys, k))								{									i++;									continue;								}								if(HqPaintData.sortData.key[k] ==i)									break;							}							if(k <HqPaintData.recCount)							{								HqPaintData.curSelRec =0;								HqPaintData.curRecNum =k;								SendMessage(ghWndHq, WM_COMMAND, IDM_GRAPH, 0L);							}						}						if(!IsWindowVisible(ghWndHq))						{							if(tmp[0]<'0'||tmp[0]>'9')							{    								if(i<HqData[BuySellData.jys].recCount&&i>0)									strcpy(tmp,HqData[BuySellData.jys].lpPreData[i].zqdm);							}								SetWindowText(hWndInput, &tmp[0]);																				if(tmp[0]!=0)							{								SendMessage(ghWndXlt, WM_KEYDOWN, VK_RETURN, 0L);								InvalidateRect(ghWndXlt, NULL, TRUE);								InvalidateRect(ghWndJlt, NULL, TRUE);								InvalidateRect(ghWndMmp, NULL, TRUE);								InvalidateRect(ghWndLitHq, NULL, TRUE);								InvalidateRect(ghWndCj, NULL, TRUE);							}							}						break;					}					if(state ==1) goto ACCEPT;					GetDlgItemText(hDlg, IDC_JG, tmp, sizeof(tmp));										if(tmp[0] ==0)					{						SetFocus(hctl);						break;					}					else					{						k =strlen(tmp);						for(i =0; i<k; i++)						{							if(!isdigit(tmp[i]) && tmp[i] !='.')							{								SetDlgItemText(hDlg, IDC_JG, "");								SetFocus(hctl);								return FALSE;							}						}					}					BuySellData.wtjg =(long)(_atold(tmp)*100);										hctl =GetDlgItem(hDlg, IDC_SL);					SetFocus(hctl);					if(idFocus ==IDC_JG) break;					GetDlgItemText(hDlg, IDC_SL, tmp, sizeof(tmp));					if(tmp[0] ==0)					{						SetFocus(hctl);						break;					}					else					{						k =strlen(tmp);						/*						if(k >8)						{							tmp[8] =0;							SetDlgItemText(hDlg, IDC_SL, tmp);							SendDlgItemMessage(hDlg, IDC_SL, EM_SETSEL, 0, MAKELONG(0, -1));							SetFocus(hctl);							break;						}						*/						for(i =0; i<k; i++)						{							if(!isdigit(tmp[i]))							{								SetDlgItemText(hDlg, IDC_SL, "");								//SetFocus(hctl);								return FALSE;							}						}					}					BuySellData.wtgs =atol(tmp);			ACCEPT:					if(state==0)											state =1;					else						state++;						hctl =GetDlgItem(hDlg, IDOK);					SetFocus(hctl);					if(state ==2)					{    						state =0;												GetClientRect(hDlg, &rc);						EnableWindow(hDlg, FALSE);												k=UDP_Jy_BuySell(&BuySellData, &BuySellRes);						hdc =GetDC(hDlg);						SetBkColor(hdc,RGB(255,0,0));						SelectObject(hdc,GetStockObject(WHITE_PEN));						if(k>0)							strcpy(&tmp[0],"您的委托已传到了主机,请等待");						if(k==0)						    strcpy(&tmp[0],"已经收市,不能委托");						if(k<0)						    strcpy(&tmp[0],"您的委托未传到了主机,请检查通讯情况");						TextOut(hdc,rc.left +10,rc.bottom -20,tmp,strlen(tmp));						ReleaseDC(hDlg,hdc);					}					break;				case IDCANCEL:					udpread_stop =TRUE;					KillTimer(hDlg, 1);					ghDlgJy =NULL;					DeleteObject(hBuyBrush);					DeleteObject(hSellBrush);										EndDialog(hDlg, 0);				break;			}		break;		case WM_JY_RES:			ret=BuySellRes.flag;			if(ret!=ANS_SUCC)			{				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 '7':						strcpy(tmp,"请您注意,资金不足!");						break;											case '8':						strcpy(tmp,"系统无法产生合同号码!");					case '9':						strcpy(tmp,"请您注意,您已卖空!");												break;					case 'A':						strcpy(tmp,"请您注意,您已超时!");						break;					case 'I':						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);			}			else			{				wsprintf(tmp, "委托已进入电脑系统! 合同号码是%s", BuySellRes.hthm);				MessageBox(hDlg, tmp, "股票买卖", MB_OK);			

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -