📄 dlgproc.cpp
字号:
#include "stdafx.h"
#include "resource.h"
#include "GLOBAL.h"
// Mesage handler for about box.
/*LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}*/
// Mesage handler for Canceled box.
LRESULT CALLBACK WndProcDlgCanceled(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
LV_COLUMN lvc;
LV_ITEM lvi;
RtlZeroMemory(&lvc,sizeof(LV_COLUMN));
RtlZeroMemory(&lvi,sizeof(LV_ITEM));
lvc.mask=LVCF_TEXT+LVCF_WIDTH;
hList2=GetDlgItem(hDlg,IDC_LIST2);
SendMessage(hList2,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
lvc.cx=60;
lvc.pszText=_T("课程号");
SendMessage(hList2,LVM_INSERTCOLUMN,0,(long)&lvc);
lvc.cx=150;
lvc.pszText=_T("课程名");
SendMessage(hList2,LVM_INSERTCOLUMN,1,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("序号");
SendMessage(hList2,LVM_INSERTCOLUMN,2,(long)&lvc);
lvc.cx=60;
lvc.pszText=_T("开课系所");
SendMessage(hList2,LVM_INSERTCOLUMN,3,(long)&lvc);
lvc.cx=40;
lvc.pszText=_T("属性");
SendMessage(hList2,LVM_INSERTCOLUMN,4,(long)&lvc);
lvc.cx=80;
lvc.pszText=_T("教师名");
SendMessage(hList2,LVM_INSERTCOLUMN,5,(long)&lvc);
lvi.mask=LVIF_TEXT;
lvi.pszText=_T("请刷新");
SendMessage(hList2,LVM_INSERTITEM,0,(long)&lvi);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_REFRESH2:
if (mystatus.Busy & 2 )
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
}
else
{
GetDefault(_T("XK1.TkInfo"),2);
}
break;
case IDOK:
case IDCANCEL:
ShowWindow(hDlg,SW_HIDE);
return TRUE;
break;
}
}
return FALSE;
}
// Mesage handler for Choose box.
LRESULT CALLBACK WndProcDlgChoose(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.nMin = 0;
si.nMax = 200;//最大滚动范围
si.nPage = 50;//合适的每页大小
si.fMask = SIF_ALL;
SetScrollInfo(hDlg,SB_VERT,&si,true);
//SetScrollInfo(SB_HORZ,&si);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_REFRESH3:
if (mystatus.Busy & 3)
{
MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
}
else
{
/*unsigned long len;
RtlZeroMemory(MainBuffer,sizeof(MainBuffer));
void *hFile=CreateFile("test2.htm",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
ReadFile(hFile,MainBuffer,sizeof(MainBuffer),&len,0);
CloseHandle(hFile);
Analysis3();
//lout(MainBuffer);*/
GetDefault(_T("XK1.CourseInput"),3);
}
break;
case IDOK:
case IDCANCEL:
ShowWindow(hDlg,SW_HIDE);
break;
case IDC_SUBMIT:
/* int i,j,cb_pos;
char *p;
char num[10];
mystatus.Analysis =3;
RtlZeroMemory(SendBuffer2,sizeof(SendBuffer2));
p=SendBuffer2;
for (i=0;i<MAX_COURSE;i++)
{
if (CW2[i])
{
if (SendMessage(CW2[i],BM_GETCHECK ,0,0)!=BST_CHECKED) continue;
wmemcpy(p,_T("aDelCourse="),11);
p+=11;
wmemcpy(p,&KW2[i][0],9);
*(p+10)=*(p+8);
*(p+7)=_T('%');
*(p+8)=_T('2');
*(p+9)=_T('3');
*(p+11)=_T('&');
p+=12;
}
else
break;
}
for (i=0;i<MAX_COURSE;i++)
{
if (!CW[i][0]) break;
if (SendMessage(CW[i][0],BM_GETCHECK ,0,0)==BST_CHECKED)
{
wmemcpy(p,_T("aDelKch="),8);
p+=8;
wmemcpy(p,&KW[i][0],7);
*(p+7)=_T('&');
p+=8;
continue;
}
for (j=1;j<6;j++)
{
if (CW[i][j])
{
cb_pos=SendMessage(CW[i][j],CB_GETCURSEL,0,0);
if (cb_pos==0 || cb_pos==CB_ERR) continue;
wmemcpy(p,_T("aInsertZy="),10);
p+=10;
wmemcpy(p,&KW[i][0],7);
p+=7;
*(p++)=_T('%');
*(p++)=_T('2');
*(p++)=_T('3');
*(p++)=cb_pos+0x30-1;
*(p++)=_T('%');
*(p++)=_T('2');
*(p++)=_T('3');
*(p++)=KW[i][8];
*(p++)=j+0x30;
*(p++)=_T('&');
}
}
if (CW[i][6])
if (SendMessage(CW[i][6],BM_GETCHECK,0,0)==BST_CHECKED)
{
wmemcpy(p,_T("aInsertFc="),10);
wmemcpy(p+10,&KW[i][0],7);
*(p+17)=_T('&');
p+=18;
}
}
if (CW2[MAX_COURSE+4]) //自定义提交
{
wmemcpy(p,_T("aInsertKch="),11);
p+=11;
p+=GetWindowText(CW2[MAX_COURSE+4],p,10);
*p++=_T('&');
}
if (CW2[MAX_COURSE+6]) //自定义提交
{
wmemcpy(p,_T("aInsertKxh="),11);
p+=11;
p+=GetWindowText(CW2[MAX_COURSE+6],p,2);
*p++=_T('&');
}
cb_pos=lstrlen(SendBuffer2)-1;
SendBuffer2[cb_pos]=0; //去掉最后一个字符'&'
_itot(cb_pos,num,10);
//lout(num);
RtlZeroMemory(SendBuffer,sizeof(SendBuffer));
lstrcpy(SendBuffer,_T("POST "));
lstrcat(SendBuffer,now_http_head->Path );
lstrcat(SendBuffer,_T("XK1.CourseInput HTTP/1.1\r\n"));
lstrcat(SendBuffer,_T("Referer: http://"));
lstrcat(SendBuffer,now_http_head->Host );
lstrcat(SendBuffer,now_http_head->Path );
lstrcat(SendBuffer,_T("XK1.CourseInput\r\n"));
lstrcat(SendBuffer,_T("Accept-Language: zh-cn\r\n"));
lstrcat(SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
lstrcat(SendBuffer,_T("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)\r\n"));
lstrcat(SendBuffer,_T("Host: "));
lstrcat(SendBuffer,now_http_head->Host );
lstrcat(SendBuffer,_T("\r\nConnection: close\r\n"));
lstrcat(SendBuffer,_T("Cache-Control: no-cache\r\n"));
lstrcat(SendBuffer,UserCookie);
lstrcat(SendBuffer,_T("Content-Length: "));
lstrcat(SendBuffer,num);
lstrcat(SendBuffer,_T("\r\n\r\n"));
mystatus.NeedBuffer2=true;
if (MessageBox(0,_T("确定要提交吗?"),szTitle,MB_ICONQUESTION | MB_YESNO)==IDYES )
{
if (Locate(SendBuffer2,_T("aDel"),0,0,0))
{
if (MessageBox(0,_T("您试图提交的操作中包含至少一项删除操作!\r\n您确定要继续吗?"),szTitle,MB_ICONQUESTION | MB_YESNO)==IDYES)
{
mysend();
}
}
else
{
mysend();
}
}
#ifdef _DEBUG
lout(SendBuffer2);
#endif*/
break;
default:
break;
}
case WM_VSCROLL:
if (lParam) break; //防止ComboBox发送WM_VSCROLL消息
SCROLLINFO si2;
RtlZeroMemory(&si2,sizeof(SCROLLINFO));
si2.cbSize = sizeof(SCROLLINFO);
si2.fMask = SIF_ALL;
GetScrollInfo(hDlg,SB_VERT,&si2);
int nOldPos = si2.nPos;
switch(LOWORD(wParam))
{
case SB_LINEDOWN:
si2.nPos = min(si2.nPos+1 , si2.nMax);
break;
case SB_PAGEDOWN:
si2.nPos = min(si2.nPos+(int)si2.nPage, si2.nMax);
break;
case SB_LINEUP:
si2.nPos = max(si2.nPos-1, si2.nMin);
break;
case SB_PAGEUP:
si2.nPos = max(si2.nPos-(int)si2.nPage, si2.nMin);
break;
//case SB_THUMBPOSITION:
case SB_THUMBTRACK:
si2.nPos = si2.nTrackPos;
break;
case SB_TOP:
si2.nPos = si2.nMin;
break;
case SB_BOTTOM:
si2.nPos = si2.nMax;
break;
default:
break;
}
// Set the position and then retrieve it. Due to adjustments
// by Windows it may not be the same as the value set.
si2.fMask = SIF_POS;
SetScrollInfo(hDlg,SB_VERT,&si2,true);
GetScrollInfo(hDlg,SB_VERT,&si2); //重新获取位置
if (si2.nPos != nOldPos)
ScrollWindow(hDlg,0, nOldPos - si2.nPos,0,0); //全部滚动
// 或仅滚动上部分
// CRect rect = ...;
//ScrollWindow(0, nOldPos - si.nPos, NULL, rect);
break;
}
return FALSE;
}
// Mesage handler for Arrangement box.
LRESULT CALLBACK WndProcDlgArrangement(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
LV_COLUMN lvc;
LV_ITEM lvi;
RtlZeroMemory(&lvc,sizeof(LV_COLUMN));
RtlZeroMemory(&lvi,sizeof(LV_ITEM));
lvc.mask=LVCF_TEXT+LVCF_WIDTH;
hList4=GetDlgItem(hDlg,IDC_LISTARR1);
hList5=GetDlgItem(hDlg,IDC_LISTARR2);
SendMessage(hList4,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
SendMessage(hList5,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
lvc.cx=50;
lvc.pszText=0;
SendMessage(hList4,LVM_INSERTCOLUMN,0,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期一");
SendMessage(hList4,LVM_INSERTCOLUMN,1,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期二");
SendMessage(hList4,LVM_INSERTCOLUMN,2,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期三");
SendMessage(hList4,LVM_INSERTCOLUMN,3,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期四");
SendMessage(hList4,LVM_INSERTCOLUMN,4,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期五");
SendMessage(hList4,LVM_INSERTCOLUMN,5,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期六");
SendMessage(hList4,LVM_INSERTCOLUMN,6,(long)&lvc);
lvc.cx=100;
lvc.pszText=_T("星期日");
SendMessage(hList4,LVM_INSERTCOLUMN,7,(long)&lvc);
lvi.mask=LVIF_TEXT;
lvi.pszText=_T("第一节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iSubItem=1;
lvi.pszText=_T("请刷新");
SendMessage(hList4,LVM_SETITEM,0,(long)&lvi);
lvi.iSubItem=0;
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第二节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第三节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第四节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第五节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第六节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
lvi.iItem++;
lvi.lParam++;
lvi.pszText=_T("第七节");
SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -