
window mfc
文章平均质量分 64
xinke87
知者不言,言者不知。塞其兑,闭其门;挫其锐,解其纷;和其光,同其尘;是谓玄同。放不可得而亲,不可得而疏;不可得而利,不可得而害;不可得而贵,不可得而贱;故为天下贵。
展开
-
_splitpath函数 具体作用看代码
<br />#include <stdlib.h> #include <stdio.h> int main(void) { char path_buffer[_MAX_PATH]; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; _makepath(path_buffer, "c", "//samp原创 2010-11-26 16:51:00 · 2654 阅读 · 0 评论 -
使用SkinMagic Toolkit美化界面
<br /><br />[准备工作]<br /><br /> 1、将SkinMagicTrial.dll放置在调试目录<br /><br /> 2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib<br /><br /> 3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"<br /><br /> [创建过程]<br /><br /> 1、初始化SkinMagic库:<br /><br /> 要使用SkinM转载 2010-11-17 11:09:00 · 392 阅读 · 0 评论 -
在vs2005中添加 组件 com组件
<br />工具————选择工具箱项 ——com组件。原创 2010-11-17 10:15:00 · 2687 阅读 · 0 评论 -
防止在listbox中添加很多数据出现不停的刷新
<br />[问题提出]<br /> 在listbox添加很多数据的时候,由于控件不停的刷新,导致出现闪烁,如何解决?<br /> [解决方法]<br /> 再添加数据以前,禁止控件刷新,数据添加完毕以后,再刷新一次。<br /> [程序实现](其中:m_ListBox是CListBox的控件类型的变量)<br /> m_ListBox.LockWindowUpdate();//禁止本listbox刷新。<br /> for(int i=0;i<9999;i++)<br />转载 2010-11-17 09:36:00 · 1998 阅读 · 0 评论 -
双击列表框项启动一个与文件关联的程序
<br />Windows中有一个API函数可以打开任何类型的文件:ShellExecute(NULL,"open",lpFileName,NULL,NULL,SW_SHOWNORMAL);参数 lpFileName 是文件的全路径名。用这个变量你可以传递象“C://MyExcelFile.xls”或者“http://www.vckbase.com”启动Excel程序或者浏览器程序。如果你只是想获取与文件关联的程序名,而不是要运行程序,那么调用::FindExecutable就可以了转载 2010-11-16 18:53:00 · 504 阅读 · 0 评论 -
给树控件加入工具提示
<br />1.首先给树控件加入TVS_INFOTIP属性风格,如下所示:<br /><br />if (!m_ctrlTree.Create(WS_CHILD|WS_VISIBLE|<br /> TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS|TVS_INFOTIP, //加入提示TVS_INFOTIP,jingzhou xu(树控件ID:100)<br /> CRect(0, 0, 0, 0), &m_wndTre转载 2010-11-16 18:43:00 · 866 阅读 · 0 评论 -
在TreeList中加图标
<br />[问题提出]<br /> 请问treeview控件和treectrl控件的用法有何不同呢?向如何imagelist控件中加图象呀?<br /> [解决方法]<br /> 1)<br /> HICON hicon[8];<br /> m_imageList.Create(16,16,0,8,8);<br /> hicon[0]=AfxGetApp()->LoadIcon(IDI_ICON0);<br /> hicon[1]=AfxGetApp()->LoadIcon(转载 2010-11-16 18:41:00 · 1576 阅读 · 0 评论 -
在状态条中显示鼠标的设备坐标与逻辑坐标
<br />显示器的设备坐标系的原点在客户区的左上角,x轴向右增长,y轴向下增长。我们要设置的逻辑坐标系的原点则在客户区的中心,x轴向右增长,y轴向上增长,如一个笛卡尔坐标系一般。<br /><br />为CChildView添加一个成员函数void OnPrepareDC(CDC * pDC, CPrintInfo * pInfo = NULL);<br /><br />void OnPrepareDC(CDC * pDC, CPrintInfo * pInfo){<br /> CRect rect;<转载 2010-11-16 17:27:00 · 451 阅读 · 0 评论 -
使用多功能编辑控件时注意初始化
<br />BOOL CMy***App::InitInstance()<br />{<br /> AfxInitRichEdit( ); //在这里初始化多功能控件<br /><br /> //……<br /><br /> return TRUE;<br />} <br /><br />最新评论 [发表评论] 查看所有评论 推荐给好友 打印<br /> 如果直接在程序中使用,必须调用AfxInitRichEdit()初始化,但是,如果使用CRichEd转载 2010-11-16 17:09:00 · 505 阅读 · 0 评论 -
互联网常见Open API文档资源
<br /><br />所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。<br /> 网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻转载 2010-11-15 22:48:00 · 585 阅读 · 1 评论 -
20条编程经验
<br /><br />编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你能在本文中看到自己的身影。<br /> 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的转载 2010-11-15 22:47:00 · 472 阅读 · 0 评论 -
设置ListView控件的完全行
<br />这个控件有个地方常常很恼人,那就是在报告视图中选中一行时,它只加亮最左边的一个栏目。<br /><br /> 为了克服这个问题,这里告诉你一个方法:向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。这个消息包含一个风格位和风格位的新值:<br /><br />::SendMessage(ListCtrl.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,<br />LVS_EX_FULLROWSELECT, LVS_EX_F转载 2010-11-17 09:52:00 · 532 阅读 · 0 评论 -
在MFC中应用CTreeCtrl控件
<br />首先,我们要创建一个基本对话框的MFC工程MFC_TreeCRTL(名字随便给一个)。然后在资源视图中插入两个Dialog,ID分别为IDD_DIALOG11和IDD_DIALOG211,都更改Style属性为Child,Border属性为None,为它们建立两个类,分别命名为Cdialog11和Cdialog211,并在MFC_TreeCRTLDlg.CPP文件中包含dialog11.h和dialog211.h两个头文件。再导入几个资源图标作为树形控件节点的图标及装饰面板。最后在主面板上添加一转载 2010-11-16 18:35:00 · 735 阅读 · 0 评论 -
改变控件内的字体颜色
<br /> [问题提出]<br /> 有时对突出问题,或要重点描述的时候,改变控件的字体颜色是很重要的事.<br /> [解决方法]<br /> 在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:<br /> afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);<br /> 参数nCtlColor用于指定控件的类转载 2010-11-17 11:53:00 · 802 阅读 · 0 评论 -
为对话框中的控件提供提示信息
<br /> [问题提出]<br /> 当用户不知道你的按钮的具体功能时,工具条提示是一个不错的方法.<br /> [解决方法]<br /> 提示功能是由MFC类库中的CToolTipCtrl来实现的.<br /> [实现程序]<br /> 假设你有了名为My的对话框的工程.首先建立一个Button,方法:在ResourceView中双击Dialog,添加Button采用默认值:IDC_BUTTON1.实现PreTranslateMessage消息的相应函数.<br /> class CMyD转载 2010-11-17 11:31:00 · 557 阅读 · 0 评论 -
45 Day Series: CodeProject VC++ Forum Q&A - I
<br />http://www.codeproject.com/KB/cpp/cppfaq10dec04-23jan05.aspx<br /> <br />Content[10 Dec to 18 Dec 2004]Q 1.01 Is there any function to minimize the window?Q 1.02 How do I stop appearing of SQL Sever login dialog again and again?Q 1.03 How can I acces原创 2010-11-22 19:01:00 · 841 阅读 · 0 评论 -
Some of the Best Open Source Project's in VC++ & MFC
<br />Background<br />CodeProject has the best source code repository for VC++ developers. But another site Sourceforge.net also has some of the best quality projects available for VC++. Here I list some of the best open source projects written in Visual C原创 2010-11-22 18:58:00 · 832 阅读 · 0 评论 -
Windows Phone 7 Competition
<br />http://www.codeproject.com/Competitions/447/Windows-Phone-7-Competition.aspx<br /> <br /> <br />Latest articlesCurrency Converter For Windows Phone 7 by Sanchal KunnelA simple currency converter App for the windows phone 7 using a web ServiceNetflix原创 2010-11-22 16:06:00 · 515 阅读 · 0 评论 -
OnCtlColor函数来改变控件颜色
<br /><br />在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:<br /> afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);<br /> 参数nCtlColor用于指定控件的类型,可以是:<br /> .CTLCOLOR_BTN 按钮控件转载 2010-11-22 11:15:00 · 745 阅读 · 0 评论 -
Custom Draw items inside a ListView Control
<br />Custom Draw items inside a ListView Control <br /><br />-------------------------------------------------------------------------------- <br /><br />This article was contributed by Navi Singh. <br /><br />If you do not原创 2010-11-22 10:57:00 · 539 阅读 · 0 评论 -
MIDI文件播放程序
<br />MIDI的意思是乐器数字接口:(Musical Instrument Digital Interface)它是早在微软开发Windows以前就有的一个用于电子键盘的标准。MIDI定义了一个传输和存储音乐信息的协议。<br /> Win32 API 提供了几种处理MIDI数据的方法。在Windows中有很多方法播放MIDI文件。这里我们讨论一种最简单的方法。 <br />ShellExecute (hWnd, "open", "c://windows//media//Canyon.mid"转载 2010-11-17 14:04:00 · 1362 阅读 · 0 评论 -
如何在串太长时往让其末尾显示一个省略号(在SDI或MDI的View中)
[问题提出] 如何在串太长时往让其末尾显示一个省略号(在SDI或MDI的View中)? [程序实现] 建立名为My的SDI或MDI工程. void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC->DrawText(CString(转载 2010-11-17 12:28:00 · 624 阅读 · 0 评论 -
得到视图指针
<br />[问题提出]<br /> 现在你有一个多线程的Demo,你想在多线程里处理视图指针里的函数,我们给这个函数起个名字:Put();该如何实现呢?<br /> //有两种方法可以实现你的要求:<br /> //1)第一种方法:<br /> //要是多线程不是在App.cpp里出现,那么要在多线程的.cpp中加上extern CYourApp theApp;<br /> //获得文档模板:<br /> POSITION curTemplatePos = theApp.GetF转载 2010-11-17 12:17:00 · 495 阅读 · 0 评论 -
使对话框上的关闭按钮失效
<br />[问题提出]<br /> 有很多网友提出如何使小X的功能不好使.下面就说一下.<br /><br /> [解决方法]<br /> 用两种解决方法:<br /> 1)重载OnClose();<br /> 2)很有意思的方法:这个小X是系统菜单的一部分,所以只要获得此系统菜单的句柄,改变菜单属性即可.<br /><br /> [程序实现]<br /> 假设你已有了名为My的对话框工程.<br /> 1)建立WM_CLOSE消息的相应函数:<br />转载 2010-11-17 11:35:00 · 2172 阅读 · 0 评论 -
基于MFC的对话框添加ToolTip的简单方法
<br />此方法适用于MFC派生类,在基于对话框的类中测试通过。具体步骤如下:<br /><br />1、选择“Project”菜单,然后“Set Active Project” 。<br />2、选择“Project”菜单 -->“Add to Project” -->“Components and Controls” -->“VC++ Components” --> “ToolTip Support” <br />3、选择“Insert” <br />4、在对话框资源中加入一个按钮,ID为IDC_To转载 2010-11-17 12:11:00 · 891 阅读 · 0 评论 -
set a font for all child windows
<br /><br />This article shows how to change the font for all child windows using only one line with a callback function.<br />The idea is to create a callback function that is passed to Win32 API function ::EnumChildWindows(). Somewhere in the application原创 2010-11-17 11:48:00 · 957 阅读 · 0 评论 -
基于FormView界面的文档工程中改变背景色和控件颜色
<br /> [问题提出]<br /> 很多时候,改变FormView中的控件和背景颜色很重要.<br /> [问题解决]<br /> 在FormView中的视图界面也是窗口,所以完全可以用改对话框的方法改FormView.<br /> [程序实现]<br /> 假设你有了名为My的SDI或MDI的工程.有了Static控件,改变控件的字体色,再改变界面的颜色:<br /> class CMyView : public CFormView<br /> {<br /> public:<br /转载 2010-11-17 12:48:00 · 3169 阅读 · 0 评论 -
VC轻松实现CTreeCtrl控件双击响应
<br />ClassWizard为CTreeCtrl(树控件)添加的NM_DBLCLK(双击)消息的响应函数中带有一个NMHDR * 型指针形参:<br /><br />OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult)<br /> <br />这个陌生的指针类型常使初用树控件的编程者陷入迷茫之中。实际上我们完全不理会它,也可以实现树控件的双击响应,即在OnDblClkTree( )函数中调用树控件的成员函数CTreeCtrl::GetSelectedItem( )转载 2010-11-16 18:35:00 · 1075 阅读 · 0 评论 -
四种程序启动画面的制作方法
<br /><br />1.利用组件库中的Splash Screen组件实现<br /> (1)用Photoshop等制作启动画面图像,保存为bmp格式。 <br /> (2)用Appwizard建一个基于单文档的工程Splash。 <br /> (3)在资源中插入位图资源<br /> 打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图ID改为转载 2010-11-14 13:26:00 · 730 阅读 · 0 评论 -
MFC编程参考
<br />MFC编程参考0.文字输出<br />为了能选用不同的字体和大小来输出文本串,须使用作为GDI对象的CFont类。Windows和常用的字处理软件(如Word)、绘图软件(如CorelDraw)等应用软件会提供多种与设备无关的字体,主要是TrueType轮廓字体。1)创建字体函数<br />CFont类是CGDIObject的派生类:CObject → CGDIObject → CFont。只有一个缺省构造函数CFont( ); 必须用下列字体创建成员函数CreateFont[Indirect]原创 2010-12-08 19:16:00 · 2245 阅读 · 3 评论 -
Detecting Media Insertion or Removal
<br />#include <windows.h>#include <dbt.h>#include <strsafe.h>#pragma comment(lib, "user32.lib")void Main_OnDeviceChange (HWND hwnd, WPARAM wParam, LPARAM lParam);char FirstDriveFromMask (ULONG unitmask); //prototype/*-------------------------原创 2010-12-10 23:40:00 · 615 阅读 · 0 评论 -
系统托盘的编程
<br />首先在dlg.h 中定义<br />#define WM_ICON_NOTIFY WM_USER+10 //托盘的使用<br /> <br />声明一个变量 NOTIFYICONDATA m_nidIconData;<br />afx_msg LRESULT OnTrayIcon(WPARAM wParam,LPARAM lParam); <br /> <br />然后在dlg.cpp 文件中实现<br /> <br />在initialInstance中 加入如下代码<br /> <b原创 2010-12-08 12:28:00 · 475 阅读 · 0 评论 -
一次只有一个实例能够运行
<br />在 InitInstance 这个函数中加入如下代码<br /> <br /> <br />SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL;//采用默认安全属性 sa.bInheritHandle = TRUE; HANDLE hMutex = CreateMutex(&sa,FALSE,L"SpiritCat"); if (hMu原创 2010-12-08 12:31:00 · 563 阅读 · 0 评论 -
转移焦点到另外一个CButton上
<br /><br />将当前焦点由一个CButton转移到另外一个CButton上,可以使用WM_NEXTDLGCTL消息,可以使用下面代码将焦点移到IDCANCEL标示的Button上 <br />CButton* pButton = (CButton*)GetDlgItem(IDCANCEL);<br />SendMessage/PostMessage(WM_NEXTDLGCTL, (WPARAM)pButton->GetSafeHwnd(), TRUE);转载 2010-12-08 12:17:00 · 702 阅读 · 0 评论 -
检测网线拔出
<br />主机和客户机网口通信,已建立socket连接,当网线拔出的时候,如何检测到?<br />或者说当拔掉电脑上的网线时,如何编程检测到这个情况,高手帮忙,谢谢! 对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:20xianglitian(向立天)等 级:<br />4#1楼 得分:0回复于:2010-11-01 22:42:34可以通过心跳检测机制 对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:狄仁杰--宦海浮沉,心系民生VisualEleven(Eleven[兔子党组织部长转载 2010-12-10 20:35:00 · 4669 阅读 · 0 评论 -
如何让vs 2005显示行号
<br />2010-12-08<br /> <br /> <br />工具---选项---文本编辑器---所有语言 --- 行号 这个复选框打勾 确定即可原创 2010-12-08 12:16:00 · 785 阅读 · 1 评论 -
如何才能让CDialog可以动态改变大小
<br />一般来说 利用wizard自动生成的dialog是不能够用鼠标拖动来更改大小的<br />并且 只有一个关闭按钮 <br /> <br />可以通过如下方法让其可以用鼠标拖动更改大小<br /> <br />调整dialog 属性border 为 reszing<br /> <br />maxmize box 为true<br />minimize box 为 false原创 2010-12-07 22:39:00 · 1499 阅读 · 0 评论 -
MFC编程参考
<br />MFC编程参考0.文字输出<br />为了能选用不同的字体和大小来输出文本串,须使用作为GDI对象的CFont类。Windows和常用的字处理软件(如Word)、绘图软件(如CorelDraw)等应用软件会提供多种与设备无关的字体,主要是TrueType轮廓字体。1)创建字体函数<br />CFont类是CGDIObject的派生类:CObject → CGDIObject → CFont。只有一个缺省构造函数CFont( ); 必须用下列字体创建成员函数CreateFont[Indirect]转载 2010-12-03 21:30:00 · 1665 阅读 · 0 评论 -
程序模拟键盘事件,向系统发消息
<br />1) 显示桌面: <br /><br /> 很多软件有显示桌面的功能, 并且大家的方法都是遍历窗口, 然后让它们最小化, 其实 win系统给咱们了一个非常方便的WIN键(就是键盘上在CTRL键和ALT键之间的那个带win标志的按键), 利用它, 可以轻松的完成显示桌面的功能. <br /><br /> keybd_event(VK_LWIN, 0, 0 ,0); <br /> keybd_e转载 2010-12-07 17:46:00 · 2751 阅读 · 1 评论 -
窗口创建和销毁过程
<br />1.PreCreateWindow() 该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数<br /> (可以设置窗口风格等等)<br /><br />2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口<br /><br />3.OnGetMinMaxInfo() 该函数为消息响应函数,响应的是WM_GETMINMAXINFO消息,允许设置窗口的最大或者<br />转载 2010-11-30 15:24:00 · 898 阅读 · 0 评论