资源简介
VC++写的仿经典QQ好友列表窗体界面,这个仿QQ界面程序算是比较善的了。
代码片段和文件信息
// Copyright (c) Iuri Apollonio 1998
// Use & modify as you want & need and leave those 4 lines.
// Strongly based on article “Inplace edit control“ of Mario Contestabile and “Editable subitems“ of Zafir
// http://www.codeguru.com
// GfxGroupEdit.cpp : implementation file
//
#include “stdafx.h“
//#include “micq.h“
#include “GfxGroupEdit.h“
#include “GfxOutBarCtrl.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CGfxGroupEdit
CGfxGroupEdit::CGfxGroupEdit()
{
bEscapeKey = FALSE;
iIndex = -1;
msgSend = NM_OB_ONGROUPENDEDIT;
bNoDown = false;
}
CGfxGroupEdit::~CGfxGroupEdit()
{
}
BEGIN_MESSAGE_MAP(CGfxGroupEdit CEdit)
//{{AFX_MSG_MAP(CGfxGroupEdit)
ON_WM_KILLFOCUS()
ON_WM_CREATE()
ON_WM_CHAR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CGfxGroupEdit message handlers
void CGfxGroupEdit::OnKillFocus(CWnd* pNewWnd)
{
PostMessage(WM_CLOSE 0 0);
if (!bEscapeKey)
{
GetWindowText(text);
if (text != ““) GetOwner()->SendMessage(WM_OUTBAR_NOTIFY msgSend (LPARAM) this);
}
}
BOOL CGfxGroupEdit::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->wParam == VK_RETURN)
{
PostMessage(WM_CLOSE 0 0);
return TRUE;
}
else if (pMsg->wParam == VK_ESCAPE)
{
PostMessage(WM_CLOSE 0 0);
return bEscapeKey = TRUE;
}
return CEdit::PreTranslateMessage(pMsg);
}
void CGfxGroupEdit::PostNcDestroy()
{
CEdit::PostNcDestroy();
delete this;
}
int CGfxGroupEdit::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CEdit::OnCreate(lpCreateStruct) == -1)
return -1;
SendMessage(WM_SETFONT(WPARAM) GetStockobject(DEFAULT_GUI_FONT)MAKELPARAM(TRUE0));
return 0;
}
void CGfxGroupEdit::OnChar(UINT nChar UINT nRepCnt UINT nFlags)
{
if (msgSend == NM_OB_ONGROUPENDEDIT)
{
CEdit::OnChar(nChar nRepCnt nFlags);
return;
}
if (nChar == VK_ESCAPE || nChar == VK_RETURN)
{
if (nChar == VK_ESCAPE) bEscapeKey = TRUE;
GetParent()->SetFocus();
return;
}
CEdit::OnChar(nChar nRepCnt nFlags);
CString str;
CRect rect parentrect;
GetClientRect(&rect);
GetParent()->GetClientRect(&parentrect);
ClientToScreen(&rect);
GetParent()->ScreenToClient(&rect);
GetWindowText(str);
CWindowDC dc(this);
CFont *pFont = GetParent()->GetFont();
CFont *pFontDC = dc.Selectobject(pFont);
CRect szrc(rect);
szrc.bottom = szrc.top;
if (bNoDown == true)
{
dc.DrawText(str szrc DT_CALCRECT);
if (szrc.right >= parentrect.right - 1) rect.right = parentrect.right - 1;
else rect.right = szrc.right;
MoveWindow(&rect);
return;
}
dc.DrawText(str szrc DT_WORDBREAK|DT_CENTER|DT_CALCRECT);
dc.Selectobject(pFontDC);
CSize size = szrc.Size();
if (size.cx > rect.Width())
{
if (size.cx + rect.left < parentrect.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3301 2001-02-24 00:05 VC++实现QQ界面绝对经典\GfxGroupEdit.cpp
文件 1699 1998-07-05 20:06 VC++实现QQ界面绝对经典\GfxGroupEdit.h
文件 55365 2001-02-24 18:10 VC++实现QQ界面绝对经典\GfxOutBarCtrl.cpp
文件 7416 1998-07-21 00:31 VC++实现QQ界面绝对经典\GfxOutBarCtrl.h
文件 15288 2001-02-24 00:07 VC++实现QQ界面绝对经典\GfxPopupMenu.cpp
文件 1750 1998-07-03 22:28 VC++实现QQ界面绝对经典\GfxPopupMenu.h
文件 17354 1998-10-20 01:22 VC++实现QQ界面绝对经典\Hyperli
文件 4207 1998-05-19 23:23 VC++实现QQ界面绝对经典\hyperli
文件 23675 2001-01-10 10:45 VC++实现QQ界面绝对经典\IConBtn.cpp
文件 6882 2001-01-10 10:36 VC++实现QQ界面绝对经典\IConBtn.h
文件 121612 2002-06-03 21:53 VC++实现QQ界面绝对经典\MICQ.APS
文件 5892 2002-06-03 21:53 VC++实现QQ界面绝对经典\MICQ.clw
文件 2129 2001-02-23 10:15 VC++实现QQ界面绝对经典\MICQ.cpp
文件 6822 2001-02-24 22:49 VC++实现QQ界面绝对经典\MICQ.dsp
文件 531 2001-02-24 22:50 VC++实现QQ界面绝对经典\MICQ.dsw
文件 1302 2001-02-23 10:15 VC++实现QQ界面绝对经典\MICQ.h
文件 418816 2002-06-03 21:54 VC++实现QQ界面绝对经典\MICQ.ncb
文件 77824 2002-06-03 21:54 VC++实现QQ界面绝对经典\MICQ.opt
文件 17115 2001-02-24 21:26 VC++实现QQ界面绝对经典\MICQ.rc
文件 14707 2001-02-24 21:38 VC++实现QQ界面绝对经典\MICQDlg.cpp
文件 1955 2001-02-24 21:36 VC++实现QQ界面绝对经典\MICQDlg.h
文件 8116 2001-02-24 18:28 VC++实现QQ界面绝对经典\QMenu.cpp
文件 2039 2001-01-05 13:54 VC++实现QQ界面绝对经典\QMenu.h
文件 208 2001-02-24 17:47 VC++实现QQ界面绝对经典\res\addgrop.bmp
文件 538 2001-02-24 02:19 VC++实现QQ界面绝对经典\res\bitmap1.bmp
文件 538 2001-02-24 04:04 VC++实现QQ界面绝对经典\res\bmp00001.bmp
文件 29236 2001-02-24 17:51 VC++实现QQ界面绝对经典\res\bmp284.bmp
文件 20144 2001-02-24 17:51 VC++实现QQ界面绝对经典\res\bmp349.bmp
文件 766 2001-02-24 18:36 VC++实现QQ界面绝对经典\res\Checkmrk.ico
文件 244 2001-02-24 17:47 VC++实现QQ界面绝对经典\res\chgback.bmp
............此处省略41个文件信息
相关资源
- 开发一个VC++证券模拟交易系统源代码
- Em算法实现聚类(VC++实现)
- C++ 实现的 LISP 编译器
- 霍夫曼编码C++实现
- 新安江模型C++代码 VS2008平台下
- 邓俊辉数据结构c++版视频资源全集
- 网络编程c++ 获得服务器端文件目录名
- 人脸识别c++代码
- 多线程C++爬虫程序
- C语言控制台窗口界面编程(修正版)
- 车牌识别系统从车牌定位、字符分割
- qwebchannel分组与JS相互发送消息的
- C++ 实现屏幕水印
- c++封装curl,实现getpostdownload
- C++课程和项目开发实战视频
- Linux下串口通讯程序C++源代码
- c语音识别程序
- 优化排样问题矩形排样C++
- C++工具类-常用工具类源码
- C/C++经典约瑟夫环问题——带头结点的
- Visual C++项目开发案例全程实录光盘源
- 数据结构 迷宫问题 C++ 栈方法
- C++程序设计教程 第二版 清晰版 带完
- VC++ DES 加密解密算法
- 运行c/c++程序时缺少mex.h
- K-means聚类算法的C++实现
- 中南大学信息院C++课程设计报告
- vc++实现哲学家吃面问题
- C++教程网Linux网络编程视频教程
- VC++旋转风车代码
评论
共有 条评论