摘要:
实现为对话框程序添加状态栏主要步骤如下:1.在资源的String table添加两个字符串资源资源ID资源值IDS_PANEL1第一个PanelIDS_PANEL2第二个Panel2.在对话框类中加入CStatusBar成员变量CStatusBarm_wndStatusBar;3.在StdAfx.h文件里定义如下分割数组static UINT indicators[] ={IDS_PANEL1,IDS_PANEL2,};4.OnInitDialog里创建并显示状态栏 阅读全文
posted @ 2011-02-15 11:23
°ι 、曲 终
阅读(399)
评论(0)
推荐(0)
摘要:
在VC下创建不规则窗口非常简单,无非就是创建一个HRGN,然后再调用SetWindowRgn就行了,如我们要创建一个原形的窗口只需要如下代码:本文中的例子为一个透明位图不规则窗口,其主要函数如下: 阅读全文
posted @ 2011-02-15 11:22
°ι 、曲 终
阅读(442)
评论(0)
推荐(0)
摘要:
动态的更改窗口的图标非常的简单,其原来就是给目标窗口发送一个WM_SETICON消息既可。我们可以调用SendMessage系统API来给窗口发送消息,当然在MFC程序里我们使用如下更为简单的方法: 阅读全文
posted @ 2011-02-15 11:21
°ι 、曲 终
阅读(950)
评论(0)
推荐(0)
摘要:
//加入WS_EX_LAYERED扩展属性 SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); HINSTANCE hInst = LoadLibrary("User32... 阅读全文
posted @ 2011-02-15 11:21
°ι 、曲 终
阅读(432)
评论(0)
推荐(0)
摘要:
使用过Access的人都知道,在表数据输入时Access自动切换输入法,如某字段需要输入英文时自动切换到En输入状态,如另一字段需要输入中文自动切换到某中文输入状态;这给我们的数据输入提供了极大的方便。如果在应用程序中也如Access那样为用户提供输入法智能自动切换,那么这样的应用程序不仅给用户带来了方便同时也显得我们更加专业化;这样我们的应用程序也就更加具有竞争力。如大多数的系统配置一样,输入法的控制也是通过对相应的注册表项的修改来实现的;在本文里我们就不对相关注册表项的具体位置及相关项的说明进行解说;为了实用起见,我们就以代码来说话吧;具体代码如下: 阅读全文
posted @ 2011-02-15 11:20
°ι 、曲 终
阅读(1849)
评论(0)
推荐(0)
摘要:
在本文中我们以实例的形式来介绍一下VC中的多线程编程,本文中没有涉及线程的相关同步问题我们更多的是讲述VC下的线程相关操作与编写方法等,至于线程的同步问题请参见《WinCE线程同步》;也许你会问为什么是参见WinCE的东西而不是参见Wincows的东西呢?因为我们知道WinCE、WinMoblie、Windows等的相关API与内核对象其本相同。一、多线程概述 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。 线程是进程内部的 阅读全文
posted @ 2011-02-15 11:20
°ι 、曲 终
阅读(705)
评论(0)
推荐(1)
摘要:
VC自带的SDK中为我们提供了一个Sleep函数,此函数的最小单位为毫秒(既千分之一秒);但在实际的应该中(特别是网络数据传输)我们需要更小的休眠单位(微秒),而系统又没有提供相关API,那么我们如何实现微秒(既十万分之一秒)的休眠呢? 我们知道系统中为我们提供了QueryPerformanceFrequency与QueryPerformanceCounter等相关API,而这些API的时间单位都是微秒及的;这为我们实现微秒休眠提供了思路;为了实用起见我们就直接给出函数代码,代码如下: 阅读全文
posted @ 2011-02-15 11:19
°ι 、曲 终
阅读(1925)
评论(1)
推荐(0)
摘要:
void CTest::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here // Do not call CWnd::OnPaint() for painting messages CPo... 阅读全文
posted @ 2011-02-15 11:16
°ι 、曲 终
阅读(500)
评论(0)
推荐(0)
摘要:
为了说明这些问题我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="女侠薛凤君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换长整型(long)ltoa(l,temp,10);二、从其它包含字符串 阅读全文
posted @ 2011-02-15 11:15
°ι 、曲 终
阅读(181)
评论(0)
推荐(0)
摘要:
POINT pt; GetCursorPos(&pt); // 得到鼠标下面的窗口句柄 HWND hWnd=WindowFromPoint(pt); // 得到鼠标所在的子窗口句柄 HWND hChild=ChildWindowFromPoint(hWnd,pt); 阅读全文
posted @ 2011-02-15 11:14
°ι 、曲 终
阅读(697)
评论(0)
推荐(0)