#include#include"Resource.h"#include"TabDlg1.h"#include"winsock2.h"#include"stdafx.h"#include#include#include"Resource.h"#include"MainDlg.h"#include"TabDlg1.h"#include"TabDlg2.h"#include"TabDlg3.h"#include"winsock2.h"#defineWM_CLICKBIT(WM_USER1)//最小化,消息定义NOTIFYICONDATAnid;RECTRectForm;//广告窗口坐标HFONThFontURLNotVisit;//字体HFONThFontURLVisited;externTCHARtcRunPath[MAX_PATH];//程序当前路径目录HINSTANCEhInst;staticHWNDChild1hWnd,Child2hWnd,Child3hWnd;//TABControl3个子窗口句柄intinitDialog(HWNDhwnd)//初始化TABCTR控件{//TCHARszWebSite[100]="http://returnc.com/archives/300.html";//ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED);HWNDhwndTab=GetDlgItem(hwnd,IDC_TAB1);InitCommonControls();TCITEMItemStruct;//定义TAB的参数的结构体ItemStruct.mask=TCIF_TEXT;//标签ItemStruct.iImage=0;//图像ItemStruct.lParam=0;ItemStruct.pszText="SMTP设置";//选项的字符ItemStruct.cchTextMax=10;SendMessage(hwndTab,TCM_INSERTITEM,0,(LPARAM)&ItemStruct);//不用SendMessage用//TabCtrl_InsertItem(hwndTab,0,&ItemStruct);是一样一样的。ItemStruct.pszText="邮件内容";//同上,就是重新定义一下选项的字符SendMessage(hwndTab,TCM_INSERTITEM,1,(LPARAM)&ItemStruct);ItemStruct.pszText="收件箱";SendMessage(hwndTab,TCM_INSERTITEM,2,(LPARAM)&ItemStruct);//Child1hWnd=CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)NULL,0);//网上出现的是上面这个版本,我一开始用这个,给折腾到死都没得到子窗口控件,得不到控件就没法设置了//因为后面的(DLGPROC)被置空了。这里置空,TAB只能当摆设,所以改成你自己建好的TAB1.CPP中的PROC函数就好了Child1hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)TAB1_Proc,0);//创建子窗口Child2hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG2),hwndTab,(DLGPROC)TAB2_Proc,0);Child3hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG3),hwndTab,(DLGPROC)TAB3_Proc,0);ShowWindow(Child1hWnd,SW_SHOWDEFAULT);//默认显示一下第一个窗口return0;}BOOLWINAPIMain_Proc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam){HWNDhwndTab=GetDlgItem(hWnd,IDC_TAB1);//TABControl句柄HWNDhwnd_Link=GetDlgItem(hWnd,IDC_SYSLINK1);//SyslinkControl文字链接——版权句柄switch(uMsg){HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);HANDLE_MSG(hWnd,WM_SYSCOMMAND,Main_OnSysCommand);//最小化到托盘HANDLE_MSG(hWnd,WM_LBUTTONDOWN,Main_OnLButtonDown);//左键点击HANDLE_MSG(hWnd,WM_MOUSEMOVE,Main_OnMouseMove);//鼠标移动范围HANDLE_MSG(hWnd,WM_PAINT,Main_OnPaint);//点击后显示网站//HANDLE_MSG(hwnd,WM_CTLCOLORSTATIC,Main_OnCtlColor);caseWM_CLICKBIT://最小化后,点击图标{if(wParam==IDI_ICON1){switch(lParam){caseWM_LBUTTONDBLCLK://左键双击事件{ShowWindow(hWnd,SW_SHOWNORMAL);//显示窗口Shell_NotifyIcon(NIM_DELETE,&nid);//删除托盘图标SetWindowPos(hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//设置窗口坐标}break;caseWM_RBUTTONUP://右键起来时弹出快捷菜单,待完善”{MessageBox(hWnd,TEXT("作者比较懒,右键功能还没添加,双击左键恢复主窗口"),TEXT("憨笑"),MB_OK);}break;default://ShowWindow(hWnd,SW_HIDE);break;}returnTRUE;}else{returnFALSE;}}break;caseWM_NOTIFY:{/*switch(((LPNMHDR)lParam)->code)//文字链接部分//TABCONTROL控件选择操作&文字链接**********这一段经百次测试,10分之一左右的概率出现内存读取错误,疑似(LPNMHDR)lParam)->code读取问题{caseNM_CLICK://点击//caseNM_RETURN://回车键都可以打开链接{PNMLINKpNMLink=(PNMLINK)lParam;LITEMitem=pNMLink->item;NMHDRhdr=pNMLink->hdr;if((hdr.hwndFrom==hwnd_Link)&&(item.iLink==0)){ShellExecute(hWnd,TEXT("open"),"http://www.bachengxie.com/?p=300",TEXT(""),NULL,SW_SHOWMAXIMIZED);//打开网站returnTRUE;}else{returnFALSE;}}break;default:break;}*/if(*(LPDWORD)((LPBYTE)lParam8)==TCN_SELCHANGE)//子窗口选择{inti=TabCtrl_GetCurSel(hwndTab);//返回TABCTR选择页编号,显示对应窗口数据switch(i){case0:{ShowWindow(Child1hWnd,SW_SHOWDEFAULT);ShowWindow(Child2hWnd,SW_HIDE);ShowWindow(Child3hWnd,SW_HIDE);}break;case1:{ShowWindow(Child2hWnd,SW_SHOWDEFAULT);ShowWindow(Child1hWnd,SW_HIDE);ShowWindow(Child3hWnd,SW_HIDE);}break;case2:{ShowWindow(Child3hWnd,SW_SHOWDEFAULT);ShowWindow(Child1hWnd,SW_HIDE);ShowWindow(Child2hWnd,SW_HIDE);}break;default:break;}returnTRUE;}else{returnFALSE;}}break;default:break;}returnFALSE;}BOOLMain_OnInitDialog(HWNDhwnd,HWNDhwndFocus,LPARAMlParam){SkinH_AttachEx(("skins/china.she"),NULL);//载入皮肤initDialog(hwnd);//初始化TAB控件hFontURLNotVisit=CreateFont(15,6,0,0,0,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,"黑体");//设置TAB控件字体大小//SendDlgItemMessage(hwnd,IDC_TAB1,WM_SETFONT,(WPARAM)hFontURLNotVisit,0);//设置TAB字体returnTRUE;}voidMain_OnCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify){switch(id){caseIDC_TOTRAY:{ToTray(hwnd);//最小化到系统托盘}break;caseID_HELP:{ShellExecute(NULL,"open","ReadMe.txt",NULL,NULL,SW_SHOWNORMAL);//打开ReadMe文本。}break;default:break;}}voidMain_OnClose(HWNDhwnd){SkinH_Detach();//释放窗口皮肤EndDialog(hwnd,0);}voidMain_OnPaint(HWNDhwnd)//设置起始点及图片大小{GetClientRect(hwnd,&RectForm);MoveWindow(GetDlgItem(hwnd,IDC_STATIC_AD),RectForm.left20,RectForm.top20,523,80,TRUE);//X,Y分别为30和20的顶点坐标,长为430,宽为90,自我理解}voidMain_OnLButtonDown(HWNDhwnd,BOOLfDoubleClick,intx,inty,UINTkeyFlags){GetClientRect(hwnd,&RectForm);if(x>=RectForm.left20&&x<=RectForm.left543&&y>=RectForm.top20&&y<=RectForm.top100)//左距30开始,长度为430,加上左边距30,到460结束,高度为90,加上顶点高度20为110结束,鼠标左击事件{TCHARszWebSite[100]="http://returnc.com/archives/300.html";//GetDlgItemText(hwnd,IDC_STATIC_AD,szWebSite,sizeof(szWebSite));//文字链接ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED);}}////////////////////////////////////////////////////////////////////////////////voidMain_OnMouseMove(HWNDhwnd,intx,inty,UINTkeyFlags)//鼠标移动范围图标设置{GetClientRect(hwnd,&RectForm);if(x>=RectForm.left20&&x<=RectForm.left543&&y>=RectForm.top20&&y<=RectForm.top100)//左距30开始,长度为430,加上左边距30,到460结束,高度为90,加上顶点高度20为110结束,设置鼠标图标{SetCursor(LoadCursor(NULL,IDC_HAND));//鼠标图标设置成小手形状}}intToTray(HWNDhwnd)//最小化到托盘{ZeroMemory(&nid,sizeof(NOTIFYICONDATA));nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);nid.hWnd=hwnd;//nid.uID=IDI_ICONAPP;nid.uID=IDI_ICON1;nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP;nid.uCallbackMessage=WM_CLICKBIT;//自定义的消息名称nid.hIcon=LoadIcon((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDI_ICON1));//读取图标lstrcpy(nid.szTip,TEXT("QQ邮件群发助手"));//信息提示条Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标ShowWindow(hwnd,SW_HIDE);//隐藏窗口return0;}voidMain_OnSysCommand(HWNDhwnd,UINTcmd,intx,inty){if(SC_MINIMIZE==cmd){ToTray(hwnd);return;}else{return;}}-IMDN开发者社群-imdn.cn"> #include#include"Resource.h"#include"TabDlg1.h"#include"winsock2.h"#include"stdafx.h"#include#include#include"Resource.h"#include"MainDlg.h"#include"TabDlg1.h"#include"TabDlg2.h"#include"TabDlg3.h"#include"winsock2.h"#defineWM_CLICKBIT(WM_USER1)//最小化,消息定义NOTIFYICONDATAnid;RECTRectForm;//广告窗口坐标HFONThFontURLNotVisit;//字体HFONThFontURLVisited;externTCHARtcRunPath[MAX_PATH];//程序当前路径目录HINSTANCEhInst;staticHWNDChild1hWnd,Child2hWnd,Child3hWnd;//TABControl3个子窗口句柄intinitDialog(HWNDhwnd)//初始化TABCTR控件{//TCHARszWebSite[100]="http://returnc.com/archives/300.html";//ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED);HWNDhwndTab=GetDlgItem(hwnd,IDC_TAB1);InitCommonControls();TCITEMItemStruct;//定义TAB的参数的结构体ItemStruct.mask=TCIF_TEXT;//标签ItemStruct.iImage=0;//图像ItemStruct.lParam=0;ItemStruct.pszText="SMTP设置";//选项的字符ItemStruct.cchTextMax=10;SendMessage(hwndTab,TCM_INSERTITEM,0,(LPARAM)&ItemStruct);//不用SendMessage用//TabCtrl_InsertItem(hwndTab,0,&ItemStruct);是一样一样的。ItemStruct.pszText="邮件内容";//同上,就是重新定义一下选项的字符SendMessage(hwndTab,TCM_INSERTITEM,1,(LPARAM)&ItemStruct);ItemStruct.pszText="收件箱";SendMessage(hwndTab,TCM_INSERTITEM,2,(LPARAM)&ItemStruct);//Child1hWnd=CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)NULL,0);//网上出现的是上面这个版本,我一开始用这个,给折腾到死都没得到子窗口控件,得不到控件就没法设置了//因为后面的(DLGPROC)被置空了。这里置空,TAB只能当摆设,所以改成你自己建好的TAB1.CPP中的PROC函数就好了Child1hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)TAB1_Proc,0);//创建子窗口Child2hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG2),hwndTab,(DLGPROC)TAB2_Proc,0);Child3hWnd=CreateDialogParam((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG3),hwndTab,(DLGPROC)TAB3_Proc,0);ShowWindow(Child1hWnd,SW_SHOWDEFAULT);//默认显示一下第一个窗口return0;}BOOLWINAPIMain_Proc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam){HWNDhwndTab=GetDlgItem(hWnd,IDC_TAB1);//TABControl句柄HWNDhwnd_Link=GetDlgItem(hWnd,IDC_SYSLINK1);//SyslinkControl文字链接——版权句柄switch(uMsg){HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);HANDLE_MSG(hWnd,WM_SYSCOMMAND,Main_OnSysCommand);//最小化到托盘HANDLE_MSG(hWnd,WM_LBUTTONDOWN,Main_OnLButtonDown);//左键点击HANDLE_MSG(hWnd,WM_MOUSEMOVE,Main_OnMouseMove);//鼠标移动范围HANDLE_MSG(hWnd,WM_PAINT,Main_OnPaint);//点击后显示网站//HANDLE_MSG(hwnd,WM_CTLCOLORSTATIC,Main_OnCtlColor);caseWM_CLICKBIT://最小化后,点击图标{if(wParam==IDI_ICON1){switch(lParam){caseWM_LBUTTONDBLCLK://左键双击事件{ShowWindow(hWnd,SW_SHOWNORMAL);//显示窗口Shell_NotifyIcon(NIM_DELETE,&nid);//删除托盘图标SetWindowPos(hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//设置窗口坐标}break;caseWM_RBUTTONUP://右键起来时弹出快捷菜单,待完善”{MessageBox(hWnd,TEXT("作者比较懒,右键功能还没添加,双击左键恢复主窗口"),TEXT("憨笑"),MB_OK);}break;default://ShowWindow(hWnd,SW_HIDE);break;}returnTRUE;}else{returnFALSE;}}break;caseWM_NOTIFY:{/*switch(((LPNMHDR)lParam)->code)//文字链接部分//TABCONTROL控件选择操作&文字链接**********这一段经百次测试,10分之一左右的概率出现内存读取错误,疑似(LPNMHDR)lParam)->code读取问题{caseNM_CLICK://点击//caseNM_RETURN://回车键都可以打开链接{PNMLINKpNMLink=(PNMLINK)lParam;LITEMitem=pNMLink->item;NMHDRhdr=pNMLink->hdr;if((hdr.hwndFrom==hwnd_Link)&&(item.iLink==0)){ShellExecute(hWnd,TEXT("open"),"http://www.bachengxie.com/?p=300",TEXT(""),NULL,SW_SHOWMAXIMIZED);//打开网站returnTRUE;}else{returnFALSE;}}break;default:break;}*/if(*(LPDWORD)((LPBYTE)lParam8)==TCN_SELCHANGE)//子窗口选择{inti=TabCtrl_GetCurSel(hwndTab);//返回TABCTR选择页编号,显示对应窗口数据switch(i){case0:{ShowWindow(Child1hWnd,SW_SHOWDEFAULT);ShowWindow(Child2hWnd,SW_HIDE);ShowWindow(Child3hWnd,SW_HIDE);}break;case1:{ShowWindow(Child2hWnd,SW_SHOWDEFAULT);ShowWindow(Child1hWnd,SW_HIDE);ShowWindow(Child3hWnd,SW_HIDE);}break;case2:{ShowWindow(Child3hWnd,SW_SHOWDEFAULT);ShowWindow(Child1hWnd,SW_HIDE);ShowWindow(Child2hWnd,SW_HIDE);}break;default:break;}returnTRUE;}else{returnFALSE;}}break;default:break;}returnFALSE;}BOOLMain_OnInitDialog(HWNDhwnd,HWNDhwndFocus,LPARAMlParam){SkinH_AttachEx(("skins/china.she"),NULL);//载入皮肤initDialog(hwnd);//初始化TAB控件hFontURLNotVisit=CreateFont(15,6,0,0,0,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,"黑体");//设置TAB控件字体大小//SendDlgItemMessage(hwnd,IDC_TAB1,WM_SETFONT,(WPARAM)hFontURLNotVisit,0);//设置TAB字体returnTRUE;}voidMain_OnCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify){switch(id){caseIDC_TOTRAY:{ToTray(hwnd);//最小化到系统托盘}break;caseID_HELP:{ShellExecute(NULL,"open","ReadMe.txt",NULL,NULL,SW_SHOWNORMAL);//打开ReadMe文本。}break;default:break;}}voidMain_OnClose(HWNDhwnd){SkinH_Detach();//释放窗口皮肤EndDialog(hwnd,0);}voidMain_OnPaint(HWNDhwnd)//设置起始点及图片大小{GetClientRect(hwnd,&RectForm);MoveWindow(GetDlgItem(hwnd,IDC_STATIC_AD),RectForm.left20,RectForm.top20,523,80,TRUE);//X,Y分别为30和20的顶点坐标,长为430,宽为90,自我理解}voidMain_OnLButtonDown(HWNDhwnd,BOOLfDoubleClick,intx,inty,UINTkeyFlags){GetClientRect(hwnd,&RectForm);if(x>=RectForm.left20&&x<=RectForm.left543&&y>=RectForm.top20&&y<=RectForm.top100)//左距30开始,长度为430,加上左边距30,到460结束,高度为90,加上顶点高度20为110结束,鼠标左击事件{TCHARszWebSite[100]="http://returnc.com/archives/300.html";//GetDlgItemText(hwnd,IDC_STATIC_AD,szWebSite,sizeof(szWebSite));//文字链接ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED);}}////////////////////////////////////////////////////////////////////////////////voidMain_OnMouseMove(HWNDhwnd,intx,inty,UINTkeyFlags)//鼠标移动范围图标设置{GetClientRect(hwnd,&RectForm);if(x>=RectForm.left20&&x<=RectForm.left543&&y>=RectForm.top20&&y<=RectForm.top100)//左距30开始,长度为430,加上左边距30,到460结束,高度为90,加上顶点高度20为110结束,设置鼠标图标{SetCursor(LoadCursor(NULL,IDC_HAND));//鼠标图标设置成小手形状}}intToTray(HWNDhwnd)//最小化到托盘{ZeroMemory(&nid,sizeof(NOTIFYICONDATA));nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);nid.hWnd=hwnd;//nid.uID=IDI_ICONAPP;nid.uID=IDI_ICON1;nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP;nid.uCallbackMessage=WM_CLICKBIT;//自定义的消息名称nid.hIcon=LoadIcon((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDI_ICON1));//读取图标lstrcpy(nid.szTip,TEXT("QQ邮件群发助手"));//信息提示条Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标ShowWindow(hwnd,SW_HIDE);//隐藏窗口return0;}voidMain_OnSysCommand(HWNDhwnd,UINTcmd,intx,inty){if(SC_MINIMIZE==cmd){ToTray(hwnd);return;}else{return;}} - IMDN开发者社群-imdn.cn">
登录
首页 » C/C++ » c++ 邮件群发 例子源码

c++ 邮件群发 例子源码

于 2014-12-15 发布
0 92
下载积分: 1 下载次数: 0

代码说明:

   #include "stdafx.h" #include #include #include "Resource.h" #include "TabDlg1.h" #include "winsock2.h"#include "stdafx.h"#include #include #include "Resource.h"#include "MainDlg.h" #include "TabDlg1.h" #include "TabDlg2.h" #include "TabDlg3.h" #include "winsock2.h"#define WM_CLICKBIT (WM_USER 1) //最小化,消息定义NOTIFYICONDATA nid;RECT RectForm; //广告窗口坐标 HFONT hFontURLNotVisit;//字体HFONT hFontURLVisited;extern TCHAR tcRunPath[MAX_PATH]; //程序当前路径目录HINSTANCE hInst; static HWND Child1hWnd,Child2hWnd,Child3hWnd; //TAB Control 3个子窗口句柄int initDialog(HWND hwnd)//初始化TAB CTR控件{ //TCHAR szWebSite[100]="http://returnc.com/archives/300.html"; //ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED); HWND hwndTab = GetDlgItem(hwnd, IDC_TAB1); InitCommonControls(); TCITEM ItemStruct;//定义TAB的参数的结构体 ItemStruct.mask = TCIF_TEXT;//标签 ItemStruct.iImage = 0;//图像 ItemStruct.lParam = 0; ItemStruct.pszText = "SMTP设置";//选项的字符 ItemStruct.cchTextMax = 10; SendMessage(hwndTab, TCM_INSERTITEM, 0, (LPARAM)&ItemStruct);//不用SendMessage用 //TabCtrl_InsertItem(hwndTab,0,&ItemStruct);是一样一样的。 ItemStruct.pszText = "邮件内容";//同上,就是重新定义一下选项的字符 SendMessage(hwndTab, TCM_INSERTITEM, 1, (LPARAM)&ItemStruct); ItemStruct.pszText = "收件箱"; SendMessage(hwndTab, TCM_INSERTITEM, 2, (LPARAM)&ItemStruct); //Child1hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hwndTab, (DLGPROC)NULL, 0); //网上出现的是上面这个版本,我一开始用这个,给折腾到死都没得到子窗口控件,得不到控件就没法设置了 //因为后面的(DLGPROC)被置空了。这里置空,TAB只能当摆设,所以改成你自己建好的TAB1.CPP中的PROC函数就好了 Child1hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)TAB1_Proc,0);//创建子窗口 Child2hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG2),hwndTab,(DLGPROC)TAB2_Proc,0); Child3hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG3),hwndTab,(DLGPROC)TAB3_Proc,0); ShowWindow(Child1hWnd, SW_SHOWDEFAULT); //默认显示一下第一个窗口 return 0; } BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ HWND hwndTab = GetDlgItem(hWnd, IDC_TAB1);//TAB Control句柄 HWND hwnd_Link=GetDlgItem(hWnd,IDC_SYSLINK1);//Syslink Control 文字链接——版权句柄 switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); HANDLE_MSG(hWnd, WM_SYSCOMMAND, Main_OnSysCommand); //最小化到托盘 HANDLE_MSG(hWnd,WM_LBUTTONDOWN,Main_OnLButtonDown);//左键点击 HANDLE_MSG(hWnd,WM_MOUSEMOVE, Main_OnMouseMove); //鼠标移动范围 HANDLE_MSG(hWnd,WM_PAINT, Main_OnPaint); //点击后显示网站 //HANDLE_MSG(hwnd,WM_CTLCOLORSTATIC, Main_OnCtlColor); case WM_CLICKBIT://最小化后,点击图标 { if(wParam == IDI_ICON1) { switch(lParam) { case WM_LBUTTONDBLCLK://左键双击事件 { ShowWindow(hWnd, SW_SHOWNORMAL); //显示窗口 Shell_NotifyIcon(NIM_DELETE, &nid);//删除托盘图标 SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);//设置窗口坐标 } break; case WM_RBUTTONUP://右键起来时弹出快捷菜单,待完善” { MessageBox(hWnd,TEXT("作者比较懒,右键功能还没添加,双击左键恢复主窗口"),TEXT("憨笑"),MB_OK); } break; default: // ShowWindow(hWnd, SW_HIDE); break; } return TRUE; } else { return FALSE; } } break; case WM_NOTIFY: { /* switch (((LPNMHDR)lParam)->code)//文字链接部分 //TAB CONTROL 控件选择操作&文字链接 **********这一段经百次测试,10分之一左右的概率出现内存读取错误,疑似(LPNMHDR)lParam)->code读取问题 { case NM_CLICK ://点击 //case NM_RETURN ://回车键都可以打开链接 { PNMLINK pNMLink = (PNMLINK)lParam; LITEM item = pNMLink->item; NMHDR hdr = pNMLink->hdr; if ((hdr.hwndFrom == hwnd_Link) && (item.iLink == 0)) { ShellExecute(hWnd,TEXT("open"),"http://www.bachengxie.com/?p=300",TEXT(""),NULL,SW_SHOWMAXIMIZED);//打开网站 return TRUE; } else { return FALSE; } } break; default: break; } */ if ( *(LPDWORD)((LPBYTE)lParam 8)==TCN_SELCHANGE ) //子窗口选择 { int i = TabCtrl_GetCurSel(hwndTab);//返回TAB CTR选择页编号,显示对应窗口数据 switch (i) { case 0: { ShowWindow(Child1hWnd,SW_SHOWDEFAULT); ShowWindow(Child2hWnd,SW_HIDE); ShowWindow(Child3hWnd,SW_HIDE); } break; case 1: { ShowWindow(Child2hWnd,SW_SHOWDEFAULT); ShowWindow(Child1hWnd,SW_HIDE); ShowWindow(Child3hWnd,SW_HIDE); } break; case 2: { ShowWindow(Child3hWnd,SW_SHOWDEFAULT); ShowWindow(Child1hWnd,SW_HIDE); ShowWindow(Child2hWnd,SW_HIDE); } break; default: break; } return TRUE; } else { return FALSE; } } break; default: break; } return FALSE; }BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){ SkinH_AttachEx(("skins/china.she"), NULL); //载入皮肤 initDialog(hwnd); //初始化TAB控件 hFontURLNotVisit=CreateFont(15,6,0,0,0,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,"黑体");//设置TAB控件字体大小 //SendDlgItemMessage(hwnd,IDC_TAB1,WM_SETFONT,(WPARAM)hFontURLNotVisit,0); //设置TAB字体 return TRUE;}void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){ switch(id) { case IDC_TOTRAY: { ToTray(hwnd); //最小化到系统托盘 } break; case ID_HELP: { ShellExecute(NULL,"open","ReadMe.txt",NULL,NULL,SW_SHOWNORMAL); //打开ReadMe文本。 } break; default: break; }}void Main_OnClose(HWND hwnd){ SkinH_Detach(); //释放窗口皮肤 EndDialog(hwnd, 0);}void Main_OnPaint(HWND hwnd) //设置起始点及图片大小{ GetClientRect(hwnd,&RectForm); MoveWindow(GetDlgItem(hwnd,IDC_STATIC_AD),RectForm.left 20,RectForm.top 20,523,80,TRUE); //X,Y分别为30和20的顶点坐标,长为430,宽为90,自我理解} void Main_OnLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags){ GetClientRect(hwnd,&RectForm); if(x>=RectForm.left 20 && x=RectForm.top 20 && y=RectForm.left 20 && x=RectForm.top 20 && y

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 696522资源总数
  • 104038会员总数
  • 40今日下载