📄 dlgproc.cpp
字号:
lvc.cx=40;
lvc.pszText=_T("属性");
SendMessage(hList5,LVM_INSERTCOLUMN,0,(long)&lvc);
lvc.cx=60;
lvc.pszText=_T("课程号");
SendMessage(hList5,LVM_INSERTCOLUMN,1,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("序号");
SendMessage(hList5,LVM_INSERTCOLUMN,2,(long)&lvc);
lvc.cx=150;
lvc.pszText=_T("课程名称");
SendMessage(hList5,LVM_INSERTCOLUMN,3,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("学分");
SendMessage(hList5,LVM_INSERTCOLUMN,4,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("考试");
SendMessage(hList5,LVM_INSERTCOLUMN,5,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("上课地点");
SendMessage(hList5,LVM_INSERTCOLUMN,6,(long)&lvc);
lvc.cx=60;
lvc.pszText=_T("教师");
SendMessage(hList5,LVM_INSERTCOLUMN,7,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("上课时间");
SendMessage(hList5,LVM_INSERTCOLUMN,8,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("上课周次");
SendMessage(hList5,LVM_INSERTCOLUMN,9,(long)&lvc);
/*if (now_http_head==&http_head1)
{
lvc.cx=65;
lvc.pszText=_T("是否选中");
SendMessage(hList5,LVM_INSERTCOLUMN,0,(long)&lvc);
}*/
lvi.iItem=0;
lvi.lParam=0;
lvi.iSubItem=0;
lvi.pszText=_T("请刷新");
SendMessage(hList5,LVM_INSERTITEM,0,(long)&lvi);
return TRUE;
case WM_COMMAND:
switch( LOWORD(wParam) )
{
case IDOK:
if (mystatus.Busy & 6 )
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
}
else
{
GetDefault(_T("XK1.ShowCourse"),6);
}
break;
case IDCANCEL:
ShowWindow(hDlg,SW_HIDE);
return TRUE;
}
break;
}
return FALSE;
}
LRESULT CALLBACK WndProcList1(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
int ret=CallWindowProc(oldWndProc1, hWnd, uMsg, wParam, lParam);
POINT p;
HMENU a;
switch(uMsg)
{
case WM_RBUTTONDOWN:
GetCursorPos(&p);
a=GetSubMenu(m2,0);
TrackPopupMenu(a,0,p.x ,p.y ,0,hMain,0);
break;
}
return ret;
}
// Mesage handler for Query box.
LRESULT CALLBACK WndProcDlgQuery(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
LV_COLUMN lvc;
if (mystatus.Busy & 1)
{
SetDlgItemText(hDlg,IDC_QUERY_ALL,_T("刷新中,请稍候..."));
SetDlgItemText(hDlg,IDC_ALL_PE,_T("刷新中,请稍候..."));
}
lvc.mask=LVCF_TEXT+LVCF_WIDTH;
hList1=GetDlgItem(hDlg,IDC_LIST1);
SendMessage(hList1,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
lvc.cx=55;
lvc.pszText=_T("课程号");
SendMessage(hList1,LVM_INSERTCOLUMN,0,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("序号");
SendMessage(hList1,LVM_INSERTCOLUMN,1,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("课程名");
SendMessage(hList1,LVM_INSERTCOLUMN,2,(long)&lvc);
lvc.cx=80;
lvc.pszText=_T("开课院系");
SendMessage(hList1,LVM_INSERTCOLUMN,3,(long)&lvc);
lvc.cx=80;
lvc.pszText=_T("任课教师");
SendMessage(hList1,LVM_INSERTCOLUMN,4,(long)&lvc);
/* if (now_http_head==&http_head2)
{
lvc.cx=80;
lvc.pszText="上课地点";
SendMessage(hList1,LVM_INSERTCOLUMN,5,(long)&lvc);
}
*/
lvc.cx=45;
lvc.pszText=_T("星期");
SendMessage(hList1,LVM_INSERTCOLUMN,6,(long)&lvc);
lvc.cx=45;
lvc.pszText=_T("节次");
SendMessage(hList1,LVM_INSERTCOLUMN,7,(long)&lvc);
lvc.cx=60;
lvc.pszText=_T("中文授课周数");
SendMessage(hList1,LVM_INSERTCOLUMN,8,(long)&lvc);
lvc.cx=45;
lvc.pszText=_T("容量");
SendMessage(hList1,LVM_INSERTCOLUMN,9,(long)&lvc);
lvc.cx=45;
lvc.pszText=_T("余量");
SendMessage(hList1,LVM_INSERTCOLUMN,10,(long)&lvc);
lvc.cx=200;
lvc.pszText=_T("备注");
SendMessage(hList1,LVM_INSERTCOLUMN,11,(long)&lvc);
lvc.cx=50;
lvc.pszText=_T("课程属性");
SendMessage(hList1,LVM_INSERTCOLUMN,12,(long)&lvc);
oldWndProc1=(WNDPROC)GetWindowLong(hList1,GWL_WNDPROC);
SetWindowLong(hList1,GWL_WNDPROC,(long)WndProcList1);
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("不限"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期1"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期2"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期3"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期4"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期5"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期6"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期7"));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_SETCURSEL,0,0);
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("不限"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第1节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第2节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第3节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第4节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第5节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第6节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第7节"));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_SETCURSEL,0,0);
return TRUE;
case WM_COMMAND:
thread_param *tp;
char Buff[20];
int len2;
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
if (mystatus.Busy & 1)
{
if (MessageBox(0,_T("您正在查询中,真的要退出吗?"),szTitle,MB_YESNO | MB_ICONQUESTION)==IDNO)
{
break;
}
}
DestroyWindow(hDlg);
hDlgQuery=0;
return TRUE;
case IDC_QUERY:
if (mystatus.Busy &1)
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
break;
}
tp=new thread_param;
strcpy(tp->SendBuffer2,"ntable_type=1&cclauses=");
if (GetDlgItemText(hDlg,IDC_EDIT1,Buff,sizeof(Buff))!=0) //课程号
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%BA%C5&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
lstrcat(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
if (GetDlgItemText(hDlg,IDC_EDIT2,Buff,sizeof(Buff))!=0) //课程名
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%C3%FB%B3%C6&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
if (GetDlgItemText(hDlg,IDC_EDIT3,Buff,sizeof(Buff))!=0) //开课系
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%AA%BF%CE%CF%B5&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
if (GetDlgItemText(hDlg,IDC_EDIT4,Buff,sizeof(Buff))!=0) //任课教师
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C8%CE%BF%CE%BD%CC%CA%A6&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
if (GetDlgItemText(hDlg,IDC_EDIT5,Buff,sizeof(Buff))!=0) //课程属性
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%CA%F4%D0%D4&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
int sel;
sel=SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETCURSEL,0,0);
if (sel!=0)
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C9%CF%BF%CE%C8%D5%C6%DA&cclauses=CHAR&cclauses=OPER&cclauses=+=+&cclauses=VALUE&cclauses="));
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETLBTEXT,sel,(LPARAM)Buff);
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
sel=SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETCURSEL,0,0);
if (sel!=0)
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C9%CF%BF%CE%BD%DA%B4%CE&cclauses=CHAR&cclauses=OPER&cclauses=+=+&cclauses=VALUE&cclauses="));
SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETLBTEXT,sel,(LPARAM)Buff);
lstrcatutf8(tp->SendBuffer2,Buff);
lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
}
if (IsDlgButtonChecked(hDlg,IDC_FILTER_AVAILABLE)==BST_CHECKED)
{
lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%B1%BE%BF%C6%C9%FA%BF%CE%D3%E0%C1%BF&cclauses=CHAR&cclauses=OPER&cclauses=+>+&cclauses=VALUE&cclauses=0&cclauses=%3B"));
}
lstrcat(tp->SendBuffer2 ,_T("&ctable=%B1%BE%D1%A7%C6%DA%BF%CE%B3%CC%B1%ED&COLS=DUMMY"));
len2=lstrlen(tp->SendBuffer2);
if (len2>1420)
{
MessageBox(0,_T("您填写的信息太多了,请精简一下"),szTitle,MB_ICONWARNING);
break;
}
RtlZeroMemory(Buff,sizeof(Buff));
_itot(len2,Buff,10);
lstrcpy(tp->SendBuffer,_T("POST "));
lstrcat(tp->SendBuffer,now_http_head->Path );
lstrcat(tp->SendBuffer,_T("qcb.table_browse_c HTTP/1.1\r\n"));
lstrcat(tp->SendBuffer,_T("Accept: */*\r\n"));
lstrcat(tp->SendBuffer,_T("Referer: http://"));
lstrcat(tp->SendBuffer,now_http_head->Host );
lstrcat(tp->SendBuffer,now_http_head->Path );
lstrcat(tp->SendBuffer,_T("qcb.kc\r\n"));
lstrcat(tp->SendBuffer,ACCEPT_LANGUAGE);
lstrcat(tp->SendBuffer,ACCEPT_ENCODING);
lstrcat(tp->SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
lstrcat(tp->SendBuffer,USER_AGENT);
lstrcat(tp->SendBuffer,_T("Host: "));
lstrcat(tp->SendBuffer,now_http_head->Host );
lstrcat(tp->SendBuffer,_T("\r\nConnection: close\r\n"));
lstrcat(tp->SendBuffer,_T("Cache-Control: no-cache\r\n"));
lstrcat(tp->SendBuffer,UserCookie);
lstrcat(tp->SendBuffer,_T("Content-Length: "));
lstrcat(tp->SendBuffer,Buff);
lstrcat(tp->SendBuffer,_T("\r\n\r\n"));
tp->hProgress =GetDlgItem(hDlg,IDC_PROGRESS);
tp->Analysis =1;
tp->NeedBuffer2 =true;
CloseHandle((HANDLE)_beginthreadex(0,0,SendThread,(void*)tp,0,0));
break;
case IDC_PREVIOUS:
case IDC_NEXT:
if (mystatus.Busy & 1 )
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
break;
}
tp=new thread_param;
lstrcpy(tp->SendBuffer,_T("GET "));
lstrcat(tp->SendBuffer,now_http_head->Path );
lstrcat(tp->SendBuffer,_T("qcb.table_browse?ctable="));
lstrcatutf8(tp->SendBuffer,&myget.ctable [0]);
lstrcat(tp->SendBuffer,_T("&ntable_type="));
lstrcat(tp->SendBuffer,&myget.ntable_type [0]);
lstrcat(tp->SendBuffer,_T("&ccolumns="));
lstrcatutf8(tp->SendBuffer,&myget.ccolumns [0]);
lstrcat(tp->SendBuffer,_T("&cclauses="));
lstrcatutf8(tp->SendBuffer,&myget.cclauses [0]);
lstrcat(tp->SendBuffer,_T("&nrow_min="));
lstrcat(tp->SendBuffer,&myget.nrow_min [0]);
lstrcat(tp->SendBuffer,_T("&nrow_max="));
lstrcat(tp->SendBuffer,&myget.nrow_max [0]);
lstrcat(tp->SendBuffer,_T("&cbutton="));
if (LOWORD(wParam)==IDC_NEXT)
{
lstrcat(tp->SendBuffer,_T("%BA%F3%BC%CD%C2%BC-%3E HTTP/1.1\r\n"));
}
else
{
lstrcat(tp->SendBuffer,_T("%3C-%C7%B0%BC%CD%C2%BC HTTP/1.1\r\n"));
}
lstrcat(tp->SendBuffer,_T("Referer: http://"));
lstrcat(tp->SendBuffer,now_http_head->Host );
lstrcat(tp->SendBuffer,now_http_head->Path );
lstrcat(tp->SendBuffer,_T("qcb.kc\r\n"));
lstrcat(tp->SendBuffer,_T("Accept-Language: zh-cn\r\n"));
lstrcat(tp->SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
lstrcat(tp->SendBuffer,_T("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)\r\n"));
lstrcat(tp->SendBuffer,_T("Host: "));
lstrcat(tp->SendBuffer,now_http_head->Host );
lstrcat(tp->SendBuffer,_T("\r\nConnection: close\r\n"));
lstrcat(tp->SendBuffer,UserCookie);
lstrcat(tp->SendBuffer,_T("Cache-Control: no-cache\r\n\r\n"));
tp->hProgress =GetDlgItem(hDlg,IDC_PROGRESS);
tp->Analysis =1;
tp->NeedBuffer2 =false;
CloseHandle((HANDLE)_beginthreadex(0,0,SendThread,(void*)tp,0,0));
break;
case IDC_QUERY_ALL:
case IDC_ALL_PE:
case IDC_ALL_COMPUTER:
if (mystatus.Busy &1 )
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
break;
}
tp=new thread_param;
SetDlgItemText(hDlgQuery,LOWORD(wParam),_T("刷新中..."));
lstrcpy(tp->SendBuffer,_T("GET "));
lstrcat(tp->SendBuffer,_T("/pls/bfjd_wwwpub/qcb.table_browse?ctable=%B1%BE%D1%A7%C6%DA%BF%CE%B3%CC%B1%ED"));
lstrcat(tp->SendBuffer,_T("&ntable_type=1&ccolumns=%BF%CE%B3%CC%BA%C5%2C%BF%CE%D0%F2%BA%C5%2C%BF%CE%B3%CC%C3%FB%B3%C6%2C%BF%AA%BF%CE%CF%B5%2C%C8%CE%BF%CE%BD%CC%CA%A6%2C%C9%CF%BF%CE%C8%D5%C6%DA%2C%C9%CF%BF%CE%BD%DA%B4%CE%2C%D6%D0%CE%C4%C9%CF%BF%CE%D6%DC%B4%CE%2C%B1%BE%BF%C6%C9%FA%BF%CE%C8%DD%C1%BF%2C%B1%BE%BF%C6%C9%FA%BF%CE%D3%E0%C1%BF%2C%D1%A1%BF%CE%CF%DE%D6%C6%CB%B5%C3%F7%2C%BF%CE%B3%CC%CA%F4%D0%D4"));
switch (LOWORD(wParam))
{
case IDC_QUERY_ALL:
lstrcat(tp->SendBuffer,_T("&cclauses=%20%77%68%65%72%65%20%28%BF%CE%B3%CC%CA%F4%D0%D4%20%6C%69%6B%65%20%27%25%C8%CE%D1%A1%25%27%29"));
break;
case IDC_ALL_PE:
lstrcat(tp->SendBuffer,_T("&cclauses=+where+%28%28%BF%CE%B3%CC%BA%C5+like+%27%2560S1%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2560S2%25%27%29%29"));
break;
case IDC_ALL_COMPUTER:
lstrcat(tp->SendBuffer,_T("&cclauses=+where+%28%28%BF%CE%B3%CC%BA%C5+like+%27%2585S%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2585L%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2525L%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2525S%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2514L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2535L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2515L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2595L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2545L00%25%27%29%29"));
break;
}
if (IsDlgButtonChecked(hDlg,IDC_FILTER_AVAILABLE)==BST_CHECKED)
{
lstrcat(tp->SendBuffer,_T("+and+"));
lstrcatutf8(tp->SendBuffer,_T("(本科生课余量>0)"));
}
sel=SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETCURSEL,0,0);
if (sel!=0)
{
SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETLBTEXT,sel,(LPARAM)Buff);
lstrcat(tp->SendBuffer,_T("+and+"));
lstrcatutf8(tp->SendBuffer,_T("(上课日期='"));
lstrcatutf8(tp->SendBuffer,Buff);
lstrcatutf8(tp->SendBuffer,_T("')"));
}
sel=SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETCURSEL,0,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -