VC6随身笔记

常用函数
CWnd::GetDC获取DC
CWnd::ReleaseDC释放DC
CWnd::GetParent 获取父窗口
CWnd::GetDesktopWindow 获取桌面指针
CWnd::CreateSolidCaret 创建 | 插入符(默认隐藏)
CWnd::CreateCaret 创建位图插入符
CWnd::ShowCaret显示插入符
CWnd::SetTimer定时器
CWnd::GetMenu获得菜单指针
CWnd::SetMenu加载菜单(当参数为NULL时移走菜单)
CWnd::ClientToScreen客户坐标转屏幕坐标
CWnd::Invalidate使窗口无效
CWnd::UpdateData取回(TRUE)/设置控件关联的数值变量
CWnd::SendMessage发送消息
CWnd::PostMessage讲消息放入消息队列

CWnd::GetDlgItem获取控件指针
CWnd::GetWindowText获取窗口字符串
CWnd::SetWindowText设置窗口字符串
CWnd::GetDlgItemInt获取控件数值(UINT)
CWnd::SetDlgItemInt设置控件数值(UINT)
CWnd::GetDlgItemText 获取控件字符串
CWnd::SetDlgItemText设置控件字符串
CWnd::GetFocus获取焦点
CWnd::SetFocus设置焦点
CWnd::SetWindowPos设置窗口Z序


CDocument::GetFirstViewPosition 获取Cview指针(1)组
CDocument::GetNextView 获取Cview指针(2)合
CDocument::DeleteContents 重载函数用于释放指针等
CDocument::SetModifiedFlag 改动后调用将提示保存


CFrameWnd::GetActiveView 获取Cview指针
CFrameWnd::SetMessageText设置状态栏最左边显示
CFrameWnd::GetMessageBar获取状态栏指针

CDC::DPtoLP 设备坐标转逻辑坐标(先调用CView::OnPrepareDC)
CDC::MoveTo移动到一点
CDC::SetPixel 画点
CDC::GetPixel 获取颜色
CDC::LineTo画线
CDC::Rectangle 画矩形
CDC::Ellipse 画椭圆
CDC::SelectObject 选择 画笔 画刷 字体 位图
CDC::FillRect填充矩形
CDC::SetROP2 设置绘画模式(与背景色)
CDC::GetTextMetrics获取当前输入信息的高度、宽度
CDC::GetTextExtent返回字符串屏幕显示长度
CDC::BeginPath创建路径层
CDC::EndPath关闭路径层
CDC::SelectClipPath设置路径层和剪切区域的(绘图区域)的互操作
CDC::DrawText 输出符合矩形的字体(其余不显示)


CFont::CreatePointFont使用特定字样、磅值创建字体


CMenu::GetSubMenu 获得子菜单指针
CMenu::CheckMenuItem选择菜单项
CMenu::SetMenuItemBitmaps 设置位图菜单(13*13)
CMenu::AppendMenu 增添菜单
CMenu::InsertMenu 插入菜单
CMenu::DeleteMenu删除菜单


CCmdUI::SetText 设置文字(可改变菜单文字)
CCmdUI::Enable设置能否用(可设置菜单)
CCmdUI::SetCheck 设置菜单选中


CString::Find 寻找指定字符或字符串
CString::Left从左边得到字串
CString::Empty 清空字符串


CPropertySheet::AddPage插入属性页
CPropertySheet::DoModal模态显示属性页
CPropertySheet::SetWizardMode设置为向导显示(DoModal前)
CPropertyPage::OnSetActive用CPropertySheet::SetWizardButtons设置上一步 等按钮


::GetStockObject常用 画笔 画刷(NULL_BRUSH透明画刷)
::GetSystemMetrics获取系统信息(宽度、高度)
::GetWindowLong获取窗口属性
::SetWindowLong设置窗口属性
::AfxGetInstanceHandle 获取当前应用程序句柄(其他办法见笔记 共3种)
C**::FromHandle讲句柄转换为指针

常用类
CStatusBar类状态栏CProgressCtrl类进度条CArchive类CComboBox类列选框
CColorDialog类颜色框CFontDialog类字体框CFileDialog类保存/打开对话框

常用格式

文件操作
CFile f( pFileName, CFile::modeCreate | CFile::modeWrite );
DWORD i=f.GetLength();
pbuf=new char[i+1];
pbuf[i]=0;
UINT nBytesRead = f.Read( pbuf, i );
char pbuf[100];
f.Write( pbuf, 100 );
f.Close();


网络操作
//1、加载套接字库
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {return;}
if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 )
{
WSACleanup( );
return;
}
//2、加载套接字库
//服务器
SOCKET s(AF_INET/*或写PF_INET均用TCP/IP*/,SOCK_STREAM/*SOCK_STREAM[流]、SOCK_DGRAM[数据报]*/,0);

sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//inet_ntoa将ip转化为字串
addr.sin_port=htons(6000);//端口号

bind (s, (sockaddr*)&addr,sizeof(sockaddr));//UDP不用

listen(s,5);//5 队列值

sockaddr_in addrclient;
int len=sizeof(sockaddr);
while(1)
{
SOCKET comn=accpet(s, (sockaddr*)&addrclient,&len);
char sendbuf[100];
send(comn,sendbuf,strlen(sendbuf)+1,0);
char recebuf[100];
rece(comn,recebuf,100,0);
closesocket(comn);
}
closesocket(s);
//客户端
SOCKET s(AF_INET,SOCK_STREAM,0);
sockaddr_in addr;
addr.sin_addr.S_un.S_addr=inet_addr("服务器ip地址");
addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addr.sin_port=htons(6000);//端口号

connect(s,(sockaddr*)&addr,sizeof(sockaddr));//UDP不用
//3关闭
WSACleanup();
#include "winsock2.h" Link with ws2_32.lib.数据报采用recefrom和sendto
VC6

你可能感兴趣的:(应用服务器,socket,网络应用,F#)