
vc++
文章平均质量分 78
paulfzm
这个作者很懒,什么都没留下…
展开
-
vc++ 关闭窗口
退出程序用 AfxGetMainWnd()->SendMessage(WM_CLOSE);关闭当前窗口 用 DestroyWindow( ); 关闭模式对话框用 EndDialog(0);原创 2011-02-24 12:50:54 · 651 阅读 · 0 评论 -
SysLink 用法
SysLinkSysLink.SetWindowText(L"<a href=\"http://www.baidu.com\">Baidu</a>");添加点击事件支持url链接void MyDlg::OnNMClickSysLink1(NMHDR *pNMHDR, LRESULT *pResult){ PNMLINK pNMLink = (PNMLIN...原创 2011-03-19 13:35:06 · 486 阅读 · 0 评论 -
picture control 载入图片
HBITMAP hBitmap; CStatic *pStatic = (CStatic *)GetDlgItem(uCtrlResource); hBitmap = (HBITMAP)LoadImage( AfxGetInstanceHandle(), MAKEINTRESOURCE(uBmpResource), IMAGE_BITMAP, 0, 0, LR_LO...原创 2011-03-19 17:21:57 · 102 阅读 · 0 评论 -
mfc radio button 设置默认选中
我们假设有两个RADIO控件:IDC_RADIO_SINGLE和IDC_RADIO_RANGE,我们的目的是默认选种IDC_RADIO_SINGLE控件。方法一:CheckRadioButton(IDC_RADIO_SINGLE,IDC_RADIO_RANGE,IDC_RADIO_SINGLE);方法二:将IDC_RADIO_SINGLE设置为有Group属性,IDC_RADIO_...原创 2011-03-19 17:45:11 · 898 阅读 · 0 评论 -
edit 设置enable
1. As you can disable other controls, use following method :GetDlgItem(IDC_EDIT)->EnableWindow(FALSE);OR :m_edit_ctrl.EnableWindow(FALSE);and with ' TRUE ', to enable that.When disabl...原创 2011-03-20 13:42:17 · 439 阅读 · 0 评论 -
mfc 关闭窗口
退出程序用 AfxGetMainWnd()->SendMessage(WM_CLOSE);关闭当前窗口 用 DestroyWindow( );关闭模式对话框用 EndDialog(0); 关闭父级模式对话框 ((CDialog*)GetParent())-> EndDialog(0); ...原创 2011-03-20 15:28:03 · 167 阅读 · 0 评论 -
PROGRESS控件(CProgressCtrl类)
CProgressCtrl *lpctrlPr = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);int nPos = 0;lpctrlPr->SetRange(0, 1000); //设置滚动条的滚动范围lpctrlPr->SetPos(500); //设置滚动条的位置lpctrlPr->SetStep(1); //...原创 2011-03-20 17:41:35 · 257 阅读 · 0 评论 -
MFC 限制对话框,窗口大小
1.在类的头文件中加入函数申明 (.h文件) afx_msg void OnGetMinMaxInfo(MINMAXINFO *lpMMI); 2.在消息映射中添加 (.cpp文件) ON_WM_GETMINMAXINFO() 即:BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx) ON_WM...原创 2011-03-20 19:08:31 · 326 阅读 · 1 评论 -
MFC 获取对话框控件
CButton* btn = (CButton*)GetDlgItem(IDC_BUTTON1);btn->MoveWindow(rect);原创 2011-03-20 19:49:39 · 243 阅读 · 0 评论 -
判断控件是否已经被创建
// Resize the edit control contained in the view to// fill the entire view when the view's window is// resized. CMdiView is a CView derived class.void CMdiView::OnSize(UINT nType, int cx, int cy...原创 2011-03-20 20:08:56 · 600 阅读 · 0 评论 -
关于UNICODE下SKIN++的使用
SKIN++使用起来应该说是比较方便的。但,官方说法,只有企业版才支持UNICODE。如果您的程序正好不是ANSI。。那么下面的方法可能会对您有所帮助。。一般咱们用SKIN++,只用到了skinppLoadSkin 与skinppExitSkin 。。如果是UNICODE程序,在编译时会提示LINK skinppLoadSkin 方法错误。。其实咱们只要把SkinPPWTL.h里的skinp...原创 2011-03-21 17:43:27 · 206 阅读 · 0 评论 -
MFC 画线的几种方式
一.画鼠标按下到弹起之间的直线1.创建 CView 的私有成员变量 CPoint m_ptOrigin;2.在构造函数中初始化 m_ptOrigin = 0;3.添加 LButtonDown(鼠标左键按下)消息函数并在鼠标左键按下的事件中记录m_ptOrigin点的坐标;4.添加 LButtonUp(鼠标左键弹起)消息函数并在鼠标左键弹起的事件中进行画线 /*HDC hd...原创 2011-03-24 22:07:48 · 980 阅读 · 0 评论 -
MFC 给对话框添加背景色
1.重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。 ---- ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量: class CExampleDlgDlg : public CDialog ...原创 2011-03-27 16:54:57 · 98 阅读 · 0 评论 -
MFC 添加对话框背景图片
先载入一张图片,ID为IDB_BITMAP2TestDlg.h中:CBrush m_brBk;//在public中定义TestDlg.cpp中:在初始化函数OnInitDialog()中加入:BOOL CTestDlg::OnInitDialog(){CDialog::OnInitDialog();CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP2);m_brBk.C...原创 2011-03-27 17:09:04 · 120 阅读 · 0 评论 -
CDialog::OnInitDialog() ----转
BOOL CmapfileDlg::OnInitDialog(){CDialog::OnInitDialog();。。。。。。。}作用:是响应WM_INITDIALOG消息的处理函数. 声明:OnInitDialog()说明:这里主要说明一个它与构造函数的一些相同点和不同点.相同点: 都可以进行初始化的工作.不同点: ...原创 2011-03-27 20:13:26 · 418 阅读 · 0 评论 -
CImageList 使用指南
1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图...原创 2011-03-27 22:05:08 · 114 阅读 · 0 评论 -
VC CListCtrl 图标不显示的问题
VC CListCtrl 图标不显示的问题1。没有将CImageList设置为窗体成员变量导致的。BOOL CMyDlg::OnInitDialog(){CImageList images;images.Create(15, 15, ILC_COLOR16, 1, 1);images.Add(AfxGetApp()->LoadIcon(IDR_...原创 2011-03-28 14:41:00 · 539 阅读 · 0 评论 -
MFC CListCtrl 获取行信息
int nItem = m_list_friend->GetNextItem(-1, LVNI_ALL | LVNI_SELECTED); if (nItem == -1) return; CString strItemName; strItemName = m_list_friend->GetItemText(nItem, ...原创 2011-03-28 17:43:26 · 503 阅读 · 0 评论 -
窗口破坏过程与Windows消息循环
从用户单击关闭按钮(标题栏最右边)或者用鼠标或鍵盘选择系统菜单的“关闭”选项,直到窗口消失,应用程序结束。这期间到底发生了什么呢?这曾经是我百思不得其解的问题,我想也会有很多人和我一样会碰到这个问题。所以我要把我的一些学习心得写出来,与大家共享: 1、首先会产生一个WM_SYSCOMMAND消息,如果程序员没有对此消息进行拦截,则由缺省的窗口函数DefWindowProc进行处理,如果表达...原创 2011-03-19 03:20:12 · 185 阅读 · 0 评论 -
VC++ UDP通信程序
UDP的服务器端:(UdpSrv.cpp) #i nclude "Winsock2.h"#i nclude "stdio.h" void main(){//初始化socket库WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRe...原创 2011-03-08 19:05:39 · 399 阅读 · 0 评论 -
vc++ tab control 使用
1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, ...原创 2011-02-24 14:06:23 · 80 阅读 · 0 评论 -
用CStdioFile 读取中文文件
使用CStdioFile 读取中文文件 如果单独用CStdioFile 来读取中文文件的话会出现乱码的问题。解决方法如下包含头文件:#include <locale.h> 读文件: char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) ); setlocale( LC_CTYPE, "chs" ); CStdioFile fi...原创 2011-02-24 20:02:27 · 565 阅读 · 0 评论 -
ini 文件的操作
ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。一、向ini文件中写入信息的函数1. 把信息写入系统的wi...原创 2011-02-24 20:22:32 · 119 阅读 · 0 评论 -
最小化窗口到托盘
在实际操作电脑的过程中,我们常常可以看到一些应用程序可以最小化到桌面右下角的托盘中显示,如一些杀毒软件等开机就显示在托盘中,或是我们常用的QQ等聊天工具,都可以最小化在托盘中,如图-1。 在图-1中,可以看到第一个服务器样式的图标,那个就是我编写的服务器程序最小化在托盘中的显示。其实很简单,只要在程序中加几行代码就可以了。我主要就MFC中基于Dialog对话框的程序作一下简单的介绍。以...原创 2011-02-24 21:18:39 · 199 阅读 · 0 评论 -
MFC TreeControl 使用
首先是CImageList控件,用来保存一组相同大小的图标或位图,它没有图形显示界面,主要用途是为其它控件提供图形列表。可以通过索引访问图标或位图。CImageList常用的函数有: 函数 说明 Create 创建一个CImageList控件 GetImageCount 获取图像的数目 GetImageInfo 获取图像信息 Add ...原创 2011-02-25 14:44:20 · 356 阅读 · 0 评论 -
MFC 右键菜单
CMenu m_PopMenu; this->SetForegroundWindow(); //在弹出菜单之前,将你的程序设置为前端窗口。 这样可以保证弹出菜单后无法关闭的问题m_PopMenu.LoadMenu(IDR_MENU_RIGHTVIEW); //装入你相应的菜单资源 POINT Pt; GetCursorPos(&Pt); m_PopMenu.GetSu...原创 2011-02-25 16:55:47 · 127 阅读 · 0 评论 -
鼠标在TreeControl节点上的操作
很简单:第一步:在向导中给你的树形控件关联一个CTreeCtrl的变量(就像你代码中的m_Mess)第二步:在向导中,添加该树形控件的NM_Click消息(就是鼠标单击消息,以下假设函数名为OnClickTree)第三步:在代码中添加你的数据(主要是在初始化树形控件的数据的函数中,如你代码中的OnInitDialog()就可以) HTREEITEM hRoot = m_ctrlTree.In...原创 2011-02-25 20:04:26 · 185 阅读 · 0 评论 -
MFC MessageBox 返回值判断
MessageBox will return zero if it fails, or one of:IDABORT Abort button was selected. IDCANCEL Cancel button was selected. IDCONTINUE Continue button was selected. IDIGNORE Ignore button was selected....原创 2011-02-25 23:03:19 · 1744 阅读 · 0 评论 -
MFC 查找tree control 的 item
VC编程中,若要展现一个树形结构,我们基本都会继承CTreeCtrl进行扩展。通过InsertItem、SetItemData等操作可以建立起一颗树并展现出来。对树的操作,最常用的就是遍历和查找。如何遍历一个CTreeCtrl呢,以下是采用递归完成的遍历树的函数 遍历树 //hitem:待遍历树的根节点void TreeVisit(HTREEITEM hItem) { AfxM...原创 2011-02-25 23:07:33 · 162 阅读 · 0 评论 -
(右键)菜单相关
(右键)菜单相关对话框void Panel::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu){ CDialog::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu); CCmdUI CmdUI; fo...原创 2011-02-25 23:47:43 · 126 阅读 · 0 评论 -
MFC 右键盘菜单图片
void CPopupMenuDlg::OnLButtonDown(UINT nFlags, CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值CMenu menu;//菜单CMenu* pPopupMenu;//菜单指针CBitmap m_bitmap1;//位图menu.LoadMenu(IDR_MENU1);//加载ID为IDR_MENU1的菜单m_bit...原创 2011-02-26 00:01:29 · 109 阅读 · 0 评论 -
MFC最小化到系统托盘
MFC最小化到系统托盘--《VC编程知识总结》之一 在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现: 第一步,声明一个NOTIFYICONDATA类,也就是NOTIFYICONDATA NotifyIcon;该句可以放在Dlg类的声明中,作为Dlg类的一个成员;也可以放在Dlg类的实现中,作为全局...原创 2011-02-27 16:46:58 · 166 阅读 · 0 评论 -
MFC SetWindowPos
函数原型: BOOL CWnd::SetWindowPos ( const CWnd* pWndInsertAfter, //插入的地方 int x, //水平坐标 int y, //垂直坐标 int cx, //宽 int cy, //高 UINT nFlags //窗口定位标识 ); 说明: 这个函数能改变窗口的大小、位置和设置子窗口、弹出窗口或顶层窗口的排...原创 2011-02-27 22:34:07 · 537 阅读 · 0 评论 -
MFC 获取当前控件的坐标和大小
CRect rectButton; m_wndButton.GetWindowRect(rectButton);原创 2011-02-27 23:02:55 · 711 阅读 · 0 评论 -
MFC 添加RichEdit 右键菜单
一. 重载RichEdit 二. 其他鬼把戏在你的dlg中重载消息WM_CONTEXTMENU: 假如你的控件名字为m_wndRichedit; void CEasyWordDlg::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here if (pWnd->m_hWnd ==...原创 2011-03-01 15:26:33 · 513 阅读 · 0 评论 -
MFC 获取系统时间
MFC获取当前时间2008-12-30 10:55我们如果使用MFC的话可以用以下代码得到CTime time = CTime::GetCurrentTime();///构造CTime对象int m_nYear = time.GetYear();///年int m_nMonth = time.GetMonth();///月int m_nDay = time.GetDay();///日...原创 2011-03-01 16:51:48 · 147 阅读 · 0 评论 -
MFC 调用dll
typedef void (*lpFun)(void); HINSTANCE hDll; //DLL句柄 hDll = LoadLibrary(L"TestDll5.dll"); if (NULL==hDll) { MessageBox(L"DLL加载失败"); } lpFun addFun; //函数指针 lpFun pShowDlg = (lpFun)GetProcAddress(h...原创 2011-03-04 20:47:05 · 184 阅读 · 0 评论 -
VC获取系统时间、程序运行时间
VC获取系统时间、程序运行时间关键词: VC 系统时间 1.使用CTime类CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK); 2: 得到系统时间日期(使用GetLocal...原创 2011-03-28 20:26:18 · 78 阅读 · 0 评论