VC杂项
2008-02-23 05:34:56来源:互联网 阅读 ()
1、控件随窗口大小而自动缩放
void CDVRDlg::OnSize(UINT nType, int cx, int cy)
{
RECT rcClient;
if (GetDlgItem(IDC_STATIC_aa))
{
GetClientRect(&rcClient);
rcClient.left =10;
rcClient.right-=10;
rcClient.top =10;
rcClient.bottom-=10;
GetDlgItem(IDC_STATIC_aa)->MoveWindow(&rcClient);
}
}
2、CButtonST
Short shBtnColor = 30;
m_bGogo.SetIcon(IDI_HALLOWEEN2, IDI_HALLOWEEN1);//配置按钮图标
m_bGogo.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);//配置按钮亮度
m_bGogo.DrawBorder(FALSE);//配置按钮边框
m_bGogo.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 128, 0));//配置按钮字体颜色
m_bGogo.SetAlign(CButtonST::ST_ALIGN_HORIZ_RIGHT);//配置按钮图标位置
m_bGogo.DrawFlatFocus(TRUE);//配置虚线框
// HyperLink button
m_btnHyperLink.SetIcon(IDI_WEB2);
m_btnHyperLink.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_btnHyperLink.SetURL(IDS_WEBADDR);
m_btnHyperLink.SetTooltipText(IDS_WEBADDR);
m_btnHyperLink.SetBtnCursor(IDC_HAND2);
3、解析字符串
CString a = "aaa,sss,ddd,fff";
CString b[100000];
int bb = 0;
for ( int i=0; i<a.GetLength(); i )
if ( a[i]==',' )
{
bb ;
}
else
{
b[bb] = b[bb] a[i];
}
4、取得本地IP
char name[255];
CString ip;
PHOSTENT hostinfo;
if(gethostname ( name, sizeof(name)) == 0)
{
//假如能够获取电脑主机信息的话,则获取本机IP地址
if ((hostinfo = gethostbyname(name)) != NULL)
{
//获取本机IP地址
LPCSTR ip=inet_ntoa(*(struct in_addr*)*hostinfo->h_addr_list);
//输出IP地址
AfxMessageBox(ip);
}
}
5、类似CTabCtrl的CPropertySheet
m_PropertySheet.AddPage(&page1);
m_PropertySheet.AddPage(&page2);
//m_PropertySheet.SetActivePage(&page2);
m_PropertySheet.Create(this, WS_CHILD | WS_VISIBLE, 0); //创建非摸态
的属性表
m_PropertySheet.ModifyStyleEx (0, WS_EX_CONTROLPARENT); // 当对话框
搜索下一 个Tab项时,WS_EX_CONTROLPARENT标记避免了死循环发生的可
能性,他能够让对话框搜索到属性表中的子窗体控件,就象对话框窗体上的其他普通控件相同
m_PropertySheet.ModifyStyle( 0, WS_TABSTOP ); //允许用户TAB键转换到属性表
CRect rcRect;
GetWindowRect(&rcRect);
m_PropertySheet.MoveWindow(rcRect);
6、不要一次发那么大,分成1K大小,循环发送,检查每次发送的返回值
#define SOCK_BUF 1024
DWORD dwSend = 0;
DWORD dwToSend = 0;
while(dwSend < dwDataLen)
{
dwToSend = dwDataLen - dwSend;
if(dwToSend > SOCK_BUF) dwToSend = SOCK_BUF;
int nRet = m_pSockMsg->Send(pDataBuf dwSend,dwToSend);
if(nRet == SOCKET_ERROR)
{
DWORD dwError = GetLastError();
CString str;
str.Format("发送错误,错误代码:%d",dwError);
AfxMessageBox(str);
break;
}
dwSend = nRet;
}
7、工具条图标
// Set up hot bar image lists.
CImageList imageList;
CBitmap bitmap;
// Create and set the normal toolbar image list.
bitmap.LoadBitmap(IDB_TOOLBAR);
imageList.Create(29, 29, ILC_COLORDDB|ILC_MASK, 13, 1);
imageList.Add(&bitmap, RGB(255,0,255));
m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();
// Create and set the hot toolbar image list.
bitmap.LoadBitmap(IDB_TOOLBARHOT);
imageList.Create(29, 29, ILC_COLORDDB|ILC_MASK, 13, 1);
imageList.Add(&bitmap, RGB(255,0,255));
m_wndToolBar.SendMessage(TB_SETHOTIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();
// Create and set the hot toolbar image list.
bitmap.LoadBitmap(IDB_TOOLBARDISABLE);
imageList.Create(29, 29, ILC_COLORDDB|ILC_MASK, 13, 1);
imageList.Add(&bitmap, RGB(255,0,255));
m_wndToolBar.SendMessage(TB_SETDISABLEDIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
imageList.Detach();
bitmap.Detach();
8、bmp位图
1位 2种颜色
2位 4种颜色
4位 16种颜色
8位 256种颜色
16位 65536种颜色
24位 1677万种颜色
32位 1677万种颜色和256级灰度值
36位 687亿种颜色和4096级灰度值
9、贴图
m_bmpBackground.LoadBitmap(IDB_MAINWND);
BITMAP bmp;
if (m_bmpBackground.GetBitmap(&bmp))
{
SIZE sizeWnd = {bmp.bmWidth, bmp.bmHeight};
sizeWnd.cx = GetSystemMetrics(SM_CXBORDER) * 2;
sizeWnd.cy = GetSystemMetrics(SM_CYBORDER) * 2 GetSystemMetrics(SM_CYCAPTION);
SetWindowPos(NULL, 0, 0, sizeWnd.cx, sizeWnd.cy, SWP_NOMOVE | SWP_NOZORDER);
CenterWindow();
}
10、//-----------返回符合条件的记录总数----------------------------
int CTreeDataDlg::TreeSumRecordCount(CString strFieldValue)
{
int Sum=0;
//----------------使用到的变量进行定义----------
_RecordsetPtr m_pRecordset; //用于创建一个查询记录集
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash