9月15

虽然vs系列的2008sp1版都出了,但是vs 2003以后的版本大多是都是在.Net上做修改,对我们vc程序员使用的MFC的修改很少。所以,许多VC程序员还是习惯用VC 6.0(包括我)。可是由于微软长时间不更新vc6。使得vc6在vista下出现了许多兼容性问题。在这里给大家提供一些解决方法
问题一:与UAC冲突
描述:由于UAC对Program Files进行了保护,导致无法调试。
解决方案:
一、
1.找到vc6的主程序文件。
2.右键,属性,选择到兼容性选项卡,勾选”请以管理员身份运行该程序“如图1所示。
点击在新窗口中浏览此图片
图1
Tags:
9月12
类文件及演示程序下载:http://file.ddvip.com/2006_07/1153228347_ddvip_2485.rarl

  CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。
  下图是用CButtonST做的几个按钮
点击在新窗口中浏览此图片

  以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。
  作者:Davide Calabro
  邮箱地址:davide_calabro@yahoo.com
  个人主页:http://www.softechsoftware.it
  CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。如果你打算使用CButtonST的窗口不止一个,那么我建议你在VC++的Workspace | FileView中导入以上的四个文件之后,然后在SdtAfx.h文件中添加合适的include语句,如#include "BtnST.h"。
  以下是Basic Features的演示界面:
点击在新窗口中浏览此图片

  效果一:在按钮上加入Icon,使Icon和文字同时显示
Tags: , ,
9月11


CString::MakeUpper


void MakeUpper( );
Remarks
备注Converts this CString object to an uppercase string.
将原对象的所有小写英文字母转换为大写。(只是将小写的英文字母转换为大写,对于其它的字符不做变化,例如:大写字符,数字,汉字)
Example实例
The following example demonstrates the use of CString::MakeUpper.
// example for CString::MakeUpper
CString s( "abc" );
s.MakeUpper();
ASSERT( s == "ABC" );
---------------------------------------------------------------------------------------------------------------------------
Tags: ,
9月11

常用类

CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造:
[color=#000080]
CRect( int l, int t, int r, int b ); 指明四个坐标
CRect( const RECT& srcRect ); 由RECT结构构造
CRect( LPCRECT lpSrcRect ); 由RECT结构构造
Tags: ,
9月11
L表示long指针
      这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。
      P表示这是一个指针;C表示是一个常量;T表示在Win32环境中, 有一个_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串;STR表示这 个变量是一个字符串。所以LPCTSTR就表示一个指向常固定地址的可以根据一些宏定义改变语义的字符串。同样, LPCSTR就只能是一个ANSI字符串,在程序中我们大部分时间要使用带T的类型定义。

      LPCTSTR == const TCHAR *,
CString 和 LPCTSTR 可以说通用。 原因在于CString定义的自动类型转换,没什么奇特的,最简单的C++操作符重载而已。
Tags:
9月11
AfxMessageBox的函数原型
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) –1 );
在第一种形式中,lpszText表示在消息框内部显示的文本,消息框的标题为应用程序的可执行文件名(如Hello)。在第二种形式中, nIDPrompt为要显示的文本字符串在字符串表中的ID。函数调用时会自
9月10
网上介绍使用Tab Control控件,好像说的都不是很详细, 我一小菜这边随便说说, 见笑.

1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.


2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl.


3. 在对话框的初始化函数OnInitDialog里面添加如下代码:

m_tab.InsertItem(0,"参数一");  //添加参数一选项卡

m_tab.InsertItem(1,"参数二");  //添加参数二选项卡

m_tab.InsertItem(2,"结果");    //添加结果选项卡


4.在对话框资源里面添加三个对话框资源, ID分别命名为IDD_PARA1, IDD_PARA2, IDD_RESULT. 字体为宋体, 字号为9, style为Child, Border为None, 宽度调整为161. 再分别为其添加对应的基于CDialog类CPara1, CPara2, CResult.


5. 在CMyTabDlg类中添加三个成员变量m_para1, m_para2, m_result, 分别是三个子对话框的实例. 代码如下:


CResult m_result;

CPara2 m_para2;

CPara1 m_para1;


9月9
Visual.C++.6.0.with.SP6┊可视化应用程序开发工具┊大企业龙卷风集成安装版



下载:

http://www.pc6.com/softview/SoftView_15260.html



VC++6.0编程助手:

点击在新窗口中浏览此图片

下载:http://www.lewensky.cn/read.php/61.htm
Tags: , ,
9月7
一.加载Skin++
0.将SkinPlusPlusDLL.lib,SkinPlusPlus.h,XPCorona.ssk都复制到当前目录

1.在(VC7)"项目->属性->链接器->输入->附加依赖项"中加入SkinPlusPlusDLL.lib
或 在(VC6)"Project->Settings->Link->Object/library"中加入SkinPlusPlusDLL.lib
在工程中加入SkinPlusPlus.h文件。

2.在你的程序中包含头文件
#include "SkinPlusPlus.h"

3.在程序中加入初始化语句InitInstance()

InitializeSkin(_T("XPCorona.ssk");

注:以上假定,如果不是请更改路径设置。
Tags: , ,
9月7
[准备工作]

1、将SkinMagicTrial.dll放置在调试目录

2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib

3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"

[创建过程]

1、初始化SkinMagic库:

要使用SkinMagic,这一步必不可少。在应用程序类的InitInstance()函数中行加入如下代码(粗体部分):

    CWinApp::InitInstance();


VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL , NULL, NULL ));


说明:
int InitSkinMagicLib(                             //初始化SkinMagic工具库
HINSTANCE hInstance,                          //应用程序句柄
char* szApplication ,                              //皮肤文件中定义的应用程序名,置为NULL即可
char* szRegCode,                                  //SkinMagic的使用注册码。若无置为NULL
char* szReserved2                                 //保留位,为NULL
);
分页: 3/6 第一页 上页 1 2 3 4 5 6 下页 最后页 [ 显示模式: 摘要 | 列表 ]