资源简介
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个文件信息
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- LINUX下命令行界面的C语言细胞游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- Qt的纽带风格界面实现(Office Ribbon风
- c++ 多功能计算器
- C++17 In Detail
- QT半透明效果界面
- 使用wxWidgets进行跨平台程序开发
- QT视频播放器(基于FFmpeg)
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
评论
共有 条评论