10 2012 档案
摘要:1、在String Table中设置语句的ID。2、在CMainFrame下的indicator数组中添加项:static UINT indicators[] ={ID_SEPARATOR, // status line indicatorID_MOUSE,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,};3、实例:void CTestView::OnMouseMove(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/or call
阅读全文
摘要:if (!m_toolbar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_BOTTOM|CBRS_TOOLTIPS ) ||!m_toolbar.LoadToolBar(IDR_TOOLBAR1)){TRACE0("Failed to create toolbar\n");return -1; // fail to create}RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);m_toolbar.Set
阅读全文
摘要:1、在对话框资源上右击,在弹出的快捷菜单中选择Properties命令,弹出对话框里的Menu下拉列表框中选择IDR_MENU1.2、添加响应COMMAND消息的映射函数。3、添加UPDATE_COMMAND_UI消息,但此时对话框不能响应这个消息。添加WM_INITMENUPOPUP消息映射,其内部代码和MFC CFrameWnd::OnInitMenuPopup()内的代码相同。具体如下: Ctrl+W -->Classinfo -->MessageFilter下拉列表框中选择Window。返回到MessageMaps标签,添加WM_INITMENUPOPU消息映射。代码如下:
阅读全文
摘要:1、定义对象CMenu menu;//定义对象(快捷菜单)CMenu *menupop;//定义对象指针(定义对象指针)2、构造函数中初始化菜单menu.LoadMenu(IDR_MENU1);3、析构函数中释放菜单menu.DestroyMenu();4、右击时的消息响应:menupop=menu.GetSubMenu(0);//得到子菜单ClientToScreen(&point);//客户坐标转换为屏幕坐标menupop->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);//弹出菜单
阅读全文
摘要://先选择Project|setting命令下Project setting命令下对话框,在Microsoft Foundation Classes下选择 Use MFC in a Shared DLL#include#include//#include#define MAX_ALLSECTIONS 300 //定义最大的段长度#define MAX_SECTION 20 //段的最大长度void main(){ //2、节与健的枚举/* 1 健 DWORD GetPrivateProfileSection( LPCTSTR lpAppName, // section name LPTST..
阅读全文
摘要://先选择Project|setting命令下Project setting命令下对话框,在Microsoft Foundation Classes下选择 Use MFC in a Shared DLL#include<iostream.h>#include<afx.h>//#include<afx1.h>#define MAX_ALLSECTIONS 300 //定义最大的段长度#define MAX_SECTION 20 //段的最大长度void main(){ //1、键名数据的读写/* 1 UINT GetProfileInt( LPCTSTR lp
阅读全文
摘要:1、在构造函数中: //背景透明/* SetWindowLong(this-> GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this-> GetSafeHwnd(),GWL_EXSTYLE)^0x80000);HINSTANCE hInst = LoadLibrary( "User32.DLL ");if(hInst){typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);MYFUNC fun = NULL;//取得SetLayeredWindowAttributes函
阅读全文
VC:CFontDialog(CClientDC 、GetDeviceCaps()、memset、LOGFONT、memcpy、CFont、SelectObject() 、IsStrikeOut())
摘要://CFontDialog( LPLOGFONT lplfInitial = NULL, DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS, CDC* pdcPrinter = NULL, CWnd* pParentWnd = NULL ); // Show the font dialog with 12 point "Times New Roman" as the // selected font./* LOGFONT lf; memset(&lf, 0, sizeof(LOGFONT)); CClientDC dc(this
阅读全文
摘要:1、新建: if(pdlg!=NULL&&::IsWindow(pdlg->m_hWnd)) pdlg->ShowWindow(SW_SHOW); else { pdlg=new CFindReplaceDialog(); pdlg->m_fr.Flags=pdlg->m_fr.Flags|FR_MATCHCASE|FR_WHOLEWORD; } if(!::IsWindow(pdlg->m_hWnd)) { pdlg->Create(FALSE,"字符串","改变字符串"); pdlg->Sho
阅读全文
摘要:static char sfile[]="记事本(*.txt)|*.txt";//文件过滤器 CFileDialog dlg(TRUE,"txt"," ",OFN_ALLOWMULTISELECT,sfile);// CFileDialog ( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszF
阅读全文
摘要:// CColorDialog dlg(RGB(255, 0, 0), CC_FULLOPEN);//dlg.DoModal();//CColorDialog( COLORREF clrInit = 0, DWORD dwFlags = 0, CWnd* pParentWnd = NULL );/*CColorDialog dlg;if (dlg.DoModal() == IDOK){ COLORREF* ccolor = dlg.GetSavedCustomColors(); for (int i=0; i < 16; i++) { TRACE("RGB value of t
阅读全文
摘要:1、进度条 m_progressCtrl.SetRange(0,100); for(int i=0;i<100;i++) { m_progressCtrl.SetPos(i); Sleep(100); } AfxMessageBox("进度条到达终点");2、滑块控件:添加WM_VSCROLL消息。void COtherCtrlDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){ // TODO: Add your message handler code here and/or call d
阅读全文
摘要:(创建图像链表、加载位图并添加到图像链表中、创建视图控件、设置视图控件图像链表、创建要插入树视图的结构体并设置属性及获取返回的句柄作为节点继续操作。。。)1、基本知识: HICON hIcon[3]; int n; m_imagelist.Create(16,16,0,8,8); //m_imagelist.Create(32,32,0,8,8); hIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1); hIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2); hIcon[2]=AfxGetApp()->LoadIco
阅读全文
摘要:(插入项、获取Tab控件的句柄、以Tab控件位父窗口(GetDlgItem(TabID)获取句柄)和对话框ID创建子对话框,获取客户区,将新建的对话框移入客户区,获取当前选择的对话框序号、显示对话框)特别注意:TabCtrl控件,要占据整个对话框,否则太小显示不出来。1、类向导为两个对话框添加俩类:CDialog1和CDialog2;2、C*Dlg主对话框类中,引入两个对话框的头文件,并添加俩个对象:dlg1,dlg2;3、主对话框初始化: m_Tab.InsertItem(0,"对话框1"); m_Tab.InsertItem(1,"对话框2"); d
阅读全文
摘要:(Memset()和Syscopy函数、获取当前路径、按钮的加载、获取当前窗口样式(GetWindowLongGRB())、设置或获取背景色、设或获取置文本背景色、设置或获取文本色、插入类表头、获取客户端大小、设置每列的宽度、设置扩展样式、插入项、获取所有项数、设置每项每列的文本,设置项选中状态、设置背景图片、删除所有项、获取系统颜色、向图片链表添加位图、获取当前位项置,获取当前项的下一项、获取列表控件的头)1、基本知识: m_list.SetBkColor(RGB(123,123,123)); m_list.SetTextBkColor(RGB(255,0,0)); m_list.SetTe
阅读全文
摘要:1、初始化:对话框属性中Selection项,选择Multiple m_listbox.AddString("Colomn1"); m_listbox.AddString("Colomn2"); m_listbox.AddString("Colomn3"); m_listbox.AddString("Colomn4"); m_listbox.InsertString(1,"Insert 1"); m_listbox.InsertString(2,"Insert 2");//
阅读全文
摘要:从属性中选择多选: CString str; m_Edit.GetWindowText(str); if(str=="") { m_Edit2.SetSel(0,-1); m_Edit2.ReplaceSel(""); } else { m_Edit.SetSel(0,-1); m_Edit.Copy(); m_Edit.ReplaceSel(""); m_Edit2.SetSel(0,-1); m_Edit2.ReplaceSel(""); m_Edit2.Paste(); }}
阅读全文
摘要:1、初始化函数中: CRegKey reg,reg2; DWORD dValue; CString str; extern BOOL flag; LPCTSTR lp="Software\\num\\"; if(reg.Open(HKEY_CURRENT_USER,lp)==ERROR_SUCCESS && reg.QueryValue(dValue,"sum")==ERROR_SUCCESS)//打开注册表 { ; } else { reg.Create(HKEY_CURRENT_USER,"Software");
阅读全文
摘要://注册表查询//1CRegKey regkey;DWORD dValue;LPCTSTR lp="Console\\";if(regkey.Open(HKEY_CURRENT_USER,lp)==ERROR_SUCCESS)//打开{if(regkey.QueryValue(dValue,"WindowSize")==ERROR_SUCCESS)//进行查询{cout<<dValue<<endl;//输出查询到得值}else{cout<<"Query Error"<<endl;}reg
阅读全文
摘要://实现右击快捷键菜单的加入CRegKey reg;//定义类对象reg.Create(HKEY_CLASSES_ROOT,"*\\shell\\QQ");//在HKEY_CLASSES_ROOT\*\文件夹下,创建项QQreg.SetValue("腾讯QQ","");//修改数值数据为:腾讯QQreg.Create(reg.m_hKey,"command");//新建command命令项char ExeName[MAX_PATH]="C:\\Program Files\\Tencent\\QQ\\Bin
阅读全文
摘要://利用注册表枚举函数枚举注册表 HKEY whKey=NULL,h=NULL; char wstr[MAX_PATH]; DWORD num=sizeof(wstr),index=0,rc1; rc1=::RegOpenKeyEx(HKEY_CURRENT_USER,"Printers",0,KEY_ALL_ACCESS,&whKey); if(rc1==ERROR_SUCCESS) { //这里只输出一层。想全部输出则需要递归.即定义一个函数,wstr做参数。 while(RegEnumKeyEx(whKey,index,wstr,&num,NULL,N
阅读全文
摘要:1、本软件自动启动: CString m_strfilepath; char path[MAX_PATH]={0}; GetModuleFileName(NULL,path,MAX_PATH); m_strfilepath=path; CRegKey reg; //定义对象 reg.Create(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run"); reg.Create(reg.m_hKey,"new"); reg.SetValue(m_strfilepath,&
阅读全文
摘要:1、串行化:void CArFileDlg::Serialize(CArchive& ar){ if (ar.IsStoring()) { // storing code UpdateData(true); ar<<m_add; ar<<m_age; ar<<m_name; ar<<m_sex; ar<<m_tel; } else { // loading code ar>>m_add; ar>>m_age; ar>>m_name; ar>>m_sex; ar>>m_
阅读全文
摘要:1、打开一个文件内的内容复制到另一个文件中:2、打开要复制的文件: CFileDialog dlg(TRUE,"*","",OFN_ALLOWMULTISELECT,NULL); if(IDOK==dlg.DoModal()) { CString str=dlg.GetPathName(); SetDlgItemText(IDC_EDIT1,str); }3、实施:void CCopyFileDlg::OnCopyfile(){ // TODO: Add your control notification handler code here CStrin
阅读全文
摘要:1、二进制文件的输入输出:ofstream in("num");//对象if(!in){}in.close();2、二进制文件的输入输出:ofstream in;in.Open("filename",ios::binary);char c[]={a'','b','c','d','e'};char *p=c;in.write(p,5);3、ios::app、ios::ate、ios::in、ios::nocreate、ios::noreplace、ios::out、ios::t
阅读全文
摘要:1、添加变量: HTREEITEM hDad; HICON hIcon; TV_INSERTSTRUCT tvinsert; CImageList m_imagelist;2、OnInitDialog()中初始化: // TODO: Add extra initialization here m_imagelist.Create(16,16,0,8,8); hIcon=AfxGetApp()->LoadIcon(IDI_ICON1); m_imagelist.Add(hIcon); CTreeCtrl * pTree=(CTreeCtrl *)GetDlgItem(IDC_TREE);
阅读全文
摘要:CString str=""; GetDlgItemText(IDC_EDIT1,str); CFile file; if(!file.Open("test.txt",CFile::modeReadWrite)) file.Open("test.txt",CFile::modeReadWrite|CFile::modeCreate); else { file.SeekToEnd(); file.Write(str,str.GetLength()); SetDlgItemText(IDC_EDIT1,""); fil
阅读全文
摘要:1、文本格式 //创建新字体 LOGFONT log; //结构体变量 CFont font; //字体对象 //属性设置 log.lfCharSet=ANSI_CHARSET; log.lfClipPrecision=23; //字体的裁剪精度 log.lfEscapement=0; //字体相对于x轴的倾斜度为0 log.lfHeight=50; //字体的高度为50 strcpy(log.lfFaceName,"新建字体"); //字体名称 log.lfItalic=0; //0表示非斜体 log.lfOrientation=900; //字体基准线与x轴之间夹角 l
阅读全文
摘要:1、先把文件AMOVIE.OCX复制到某一目录下,例如D:\下,然后选择“开始”|“运行”命令,输入“regsvr32D:\AMOVIE.OCX”,单击“确定”按钮后,弹出对话框,显示注册成功。2、利用类向导,创建一个基于对话框的应用程序,删除向导自动生成的确定、取消按钮。选择Project?ADD。。。添加ActiveMovie Control Object选项。3、单击Insert按钮,关闭该对话框,ActiveMovie控件便出现在控件面板中,调整好控件在对话框中的位置。4、添加菜单资源。。5、添加工具栏。。。6、添加滑块控件,及变量。。。系统实现:1、设置对话框的最小化,对话框属性对话
阅读全文
摘要:主要代码如下:显示代码如下: CDC * pDialogDC = GetDC(); Invalidate(); UpdateWindow(); CPen pen(PS_SOLID,2,RGB(255,0,0)); pDialogDC->SelectObject(&pen); for (int i = 0;i picFlag) { case 0: pDialogDC->MoveTo(picVector[i]->startPoint); pDialogDC->LineTo(picVector[i]->endPoint); break; cas...
阅读全文
摘要:如果我们只想在某个空间窗口内绘图的话,则应避免重复绘制对话框元素。如果只想显示一些文本,我们可以利用对话框编辑器来创建一个具有特殊ID的空静态控件,然后在对话框的成员函数中调用CWnd::SetDlgItemText函数,以便在该控件中显示文本。 如果想显示图形的话,必须利用ClassWizard相对话框中加入OnPaint成员函数,该函数必须将静态控件的ID转换CWnd指针,然后在得到他的设备环境。这里的一个技巧就在于我们既要在控件窗口绘图,又要防止Windows对他进行重复绘制。我们可以通过利用Invalidate/UpdateWindow这一调用序列来达到这一效果。例:CWnd * pW
阅读全文