分类目录归档:VC技术

发表与VC相关的内容,比如MFC,只限技术文章

在(CListView)列表视图中添加右键菜单
HOT

大家好,这是我第一篇文章,就用我最常用的列表视图做开始吧,我要做的功能就是在列表框上添加一个右键菜单,同时提示当前选中的文本内容,功能很简单,而且是在别人的基础上改编的,不过,一切事情都是从最简单的事情开始的,“天下难事,必做于易;天下大事,必做于细”,况且,只有站在别人的肩膀上才能看的更远,J,闲言少叙,书规正传。  在codeproject网站中(http://www.codeproject....
阅读全文

VC++中实现程序互斥运行
HOT

在软件的开发过程中,有时需要控制一些程序不能同时运行,也就是多个程序间互斥运行(还包括禁止同一程序运行多个实例)。针对这一问题,我们在Visual C++ 6.0中利用内存映射文件实现了多个程序间的互斥运行。  在讲述具体的编程方法之前,让我们先来看看和内存映射文件操作有关的几个重要的函数:  1)CreateFileMapping函数为指定的文件创建一个文件映射对象,该函数的原型如下:  HAN...
阅读全文

亲密接触VC6.0编译器
HOT

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?   闲话少说。...
阅读全文

VC中利用多线程技术实现线程之间的通信
HOT

当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需...
阅读全文

基于Visual C++6.0的DLL编程实现
HOT

一、前言   自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处理用户的输入所需要的代码被存储在一个User DLL中、Windows编程所需要的大量的API函数也被包...
阅读全文

Visual C++编程技巧之九
HOT

68.VC1.5下如何跳到第一事例? 各位大虾: CWinApp::InitInstance()中可知是第二事例,但如何在return FALSE; 之前FindWindow()到第一事例呢? 主要困难是: 1).主窗口类名可否得到 ( 主窗口==MainFrame ? 若是,怎知MainFrame类名? 2).Title因含有文档名, 是一不确定串. 1. 类名是动态的,所以应该不易得到。(不知...
阅读全文

Visual C++编程技巧之八
HOT

57、为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 需要将CFrameWnd:: m_bAutomenuEnable设置为FALSE,如果该数据成员为TRUE(缺省值),工作框将自动地禁止没有ON_UPDATE_COMMAND_UI或者ON_COMMAND的菜单项。 //Disable MFC from automatically disabling menu item...
阅读全文

Visual C++编程技巧之七
HOT

49、如何实现一个橡皮区矩形 CRectTracker是一个很有用的类,可以通过调用CRectTracker:: TrackRubberBand响应WM_LBUTTONDOWN消息来创建一个橡皮区矩形。下例表明使用CRectTracker移动和重置视窗中的蓝色椭圆的大小是很容易的事情。 首先,在文件档中声明一个CRectTracker数据成员: class CSampleView : Public...
阅读全文

Visual C++编程技巧之六
HOT

41、如何一个创建三态下压按钮 可以使用新的BS_PUSHBUTTON 风格位和检测框以及按钮来创建一个三态下压按钮。这很容易,只需将检测框和按钮拖拉到对话中并指定属性Push—like即可。不用任何附加程序就可以成为三态下压按钮。 42、如何动态创建控件 分配一个控件对象的实例并调用其Create成员函数。开发者最容易忽略两件事:忘记指定WS_VISBLE标签和在栈中分配控件对象。下例动态地创建...
阅读全文

Visual C++编程技巧之五
HOT

33、如何获取一个对话控件的指针 有两种方法。其一,调用CWnd: : GetDlgItem,获取一个CWnd*指针调用成员函数。下例调用GetDlgItem,将返回值传给一个CSpinButtonCtrl*以便调用CSpinButtonCtrl : : SetPos 函数: BOOL CSampleDialog : : OnInitDialog ( ) { CDialog : : OnInitD...
阅读全文

Visual C++编程技巧之四
HOT

25、如何获取有关窗口正在处理的当前消息的信息 调用CWnd: : GetCurrentMessage可以获取一个MSG指针。例如,可以使用 ClassWizard将几个菜单项处理程序映射到一个函数中,然后调用GetCurrentMessage 来确定所选中的菜单项。 viod CMainFrame : : OnCommmonMenuHandler ( ) { //Display selected...
阅读全文

Visual C++编程技巧之三
HOT

17、如何创建一个字回绕的CEditView 重载CWnd : : PreCreateWindow和修改CREATESTRUCT结构,关闭CEditView对象的ES_AUTOHSCROLL和WS_HSCROLL风格位,由于CEditView : : PreCreateWindow显示设置cs. style,调用基类函数后要修改cs . style。 BOOL CSampleEDitView : ...
阅读全文

Visual C++ 编程技巧之二
HOT

9. 如何改变窗口的图标? 向窗口发送 WM_SECTION消息。 Example: HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON); ASSERT(hIcon); AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon); 10. 如何改变窗口的缺省风格? 重栽 CWnd:: ...
阅读全文
15 页 / 共 20