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

📄 maindlg.h

📁 局域网内聊天传输文件
💻 H
字号:
// maindlg.h : interface of the CMainDlg class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINDLG_H__32896F70_74BD_4CFC_8D19_0E4FF5E002FB__INCLUDED_)
#define AFX_MAINDLG_H__32896F70_74BD_4CFC_8D19_0E4FF5E002FB__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "stdafx.h"
#include "aboutdlg.h"
#include "def.h"

class CLoginDlg : public CDialogImpl<CLoginDlg>
{
public:
	enum { IDD = IDD_DIALOG_LOGIN};

	BEGIN_MSG_MAP(CLoginDlg)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		COMMAND_ID_HANDLER(IDOK, OnOK)
		COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
	END_MSG_MAP()

	// Handler prototypes (uncomment arguments if needed):
	//	LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	//	LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	//	LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)

	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	{
		CenterWindow(GetParent());
		return TRUE;
	}

	//PK 2004-09 - 10-09
	LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

	LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		EndDialog(wID);
		return 0;
	}

	string m_username;
};

class CMainDlg : public CDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>,public CMessageFilter, public CIdleHandler
{
public:
	enum { IDD = IDD_MAINDLG };

	virtual BOOL PreTranslateMessage(MSG* pMsg)
	{
		return CWindow::IsDialogMessage(pMsg);
	}

	virtual BOOL OnIdle()
	{
		return FALSE;
	}

	CMainDlg() : m_List(this, 1) {}

	BEGIN_UPDATE_UI_MAP(CMainDlg)
	END_UPDATE_UI_MAP()

	BEGIN_MSG_MAP_EX(CMainDlg)
		MSG_WM_DESTROY(OnDestroy)
		MSG_WM_TIMER(OnTimer)
		MSG_WM_HOTKEY(OnHotKey)
		MESSAGE_HANDLER(WM_RENAME, OnRename)
		MESSAGE_HANDLER(WM_RECV_FILE, OnRecvFile)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
		COMMAND_ID_HANDLER(IDOK, OnOK)
		COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
		COMMAND_ID_HANDLER(IDC_RENAME, OnRename)
		COMMAND_ID_HANDLER(IDC_SEND_FILE, OnSendFile)
		COMMAND_ID_HANDLER(IDC_BLACKLIST, OnBlacklist)
	ALT_MSG_MAP(1)
		MSG_WM_LBUTTONDBLCLK(OnDBList)
	END_MSG_MAP()

	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);

	LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		CAboutDlg dlg;
		dlg.DoModal();
		return 0;
	}

	LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

	LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		//CSender::logout();
		CloseDialog(wID);
		return 0;
	}

	//PK for button
	LRESULT OnRename(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		rename();
		return 0;
	}
	//PK for windows message
	LRESULT OnRename(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	{
		rename();
		return 0;
	}

	LRESULT OnSendFile(WORD, WORD wID, HWND, BOOL&);
	LRESULT OnRecvFile(UINT, WPARAM, LPARAM, BOOL&);
	LRESULT OnBlacklist(WORD, WORD wID, HWND, BOOL&);

	void CloseDialog(int nVal)
	{
		DestroyWindow();
		::PostQuitMessage(nVal);
	}
	void OnDestroy();
	void OnTimer ( UINT uTimerID, TIMERPROC pTimerProc );
	void someone_talk(CRStr content);
	void someone_login(CRStr fullname, DWORD addr)
	{
		CListViewCtrl list(GetDlgItem(IDC_LIST_USER));
		int index = list.InsertItem(65535, fullname.c_str());
		list.SetItemData(index, (DWORD)addr);
	}

	void someone_logout(DWORD addr)
	{
		CListViewCtrl list(GetDlgItem(IDC_LIST_USER));
		for ( int index = 0; index < list.GetItemCount(); ++ index)
			if (list.GetItemData(index) == addr) list.DeleteItem(index);
	}

	//PK 2004-10-09
	void write_title(CRStr username)
	{
		string temp = "NetTalkN(" + g_version + ") - " + username;
		SetWindowText(temp.c_str());
	}

	bool rename();
	bool get_sel_users(int id, addresses_type & users);
	void say(CRStr msg);

	bool add_user_to_list(int id, u_long addr);
	bool remove_user_from_list(int id, u_long addr);
	bool remove_all_sel(int id);

	LRESULT OnDBList(UINT wParam, CPoint point);
	void OnHotKey(int id, UINT, UINT)
	{
		if (id != 1001 && id != 1002) return;
		::SetForegroundWindow(m_hWnd);
	}

protected:
	CContainedWindowT<CListViewCtrl> m_List;
};


/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINDLG_H__32896F70_74BD_4CFC_8D19_0E4FF5E002FB__INCLUDED_)

⌨️ 快捷键说明

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