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

📄 jy_cl.c

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