修好了无效的Image Filter过滤器
Submitted by gougou on Sun, 2005-06-12 00:09泛型算法同指针
Submitted by gougou on Thu, 2005-06-09 21:01一般书中介绍泛型算法的时候,举得例子都是使用的迭代子,比如
sort(A.begin(), A.end());
事实上,指针也可以看成是一种更加灵活的迭代子,泛型算法同样可以用于指针,比如如下示例
Foo* pFoo;
sort(pFoo, pFoo+ 100);
在VC中实现控件容器
Submitted by gougou on Sat, 2005-06-04 10:28在VC6中设计器不提供类似Delphi,.Net中的容器的控件Panel组件,因此做复杂界面的时候比较麻烦,为了模拟容器控件的效果,我们可以通过创建一个无边框的Dialog,将其停靠到主界面上来仿真。代码示意如下。
BOOL CDivideSettingDetail::OnInitDialog()
{
CCommDlg::OnInitDialog();
CWnd* pWnd = GetDlgItem( IDC_TRAIN );
CRect rect;
pWnd->GetWindowRect( &rect );
ScreenToClient( &rect );
InitTrainDetail();
TrainDetail.Create(IDD_015_1, this);
TrainDetail.ShowWindow( WS_VISIBLE | WS_CHILD );
TrainDetail.SetWindowPos( pWnd, 0, rect.top, 0, 0, SWP_FRAMECHANGED | SWP_NOSIZE | SWP_NOZORDER );
TrainDetail.ShowWindow(SW_SHOW);
上面的IDC_TRAIN是一个用来定位的控件,设计时将它设置为不可见即可
Html Help 2注册工具
Submitted by gougou on Tue, 2005-05-03 17:16VS.Net 中的帮助是基于Html Help 2的格式的,它不像Chm那样,一个文件就可以直接运行,必须经过一些繁琐的注册步骤才行,微软提供的注册模块是基于MSI的,非常不好用。
我写了一个安装HtmlHelp2的工具,两种运行模式,一种是GUI的,一种是命令行的,支持Merge Topic和Plugin两种注册方式,可以同时支持多个target,包括VS.Net2003/2002和Delphi8/Delphi2005等。
最新版本是1.2---更新日期是2005/06/05
下载:http://www.sharpplus.com/downloads/RegH212.zip
Windows的一个焦点控制问题
Submitted by gougou on Mon, 2005-05-02 16:34将一个相对于基本路径的相对路径转化为绝对路径
Submitted by gougou on Sun, 2005-04-24 17:17Delphi中没有提供将一个相对于基本路径的相对路径转化为绝对路径的函数,我迫不得已自己写了一个。
function GetAbsolutePath(BasePath, RelativePath:string):string;
implementation
uses ComObj, ComConst, dialogs;
function PathCombine(lpszDest: PChar; const lpszDir, lpszFile: PChar):
PChar; stdcall; external 'shlwapi.dll' name 'PathCombineA';
function PathCombineA(lpszDest: PAnsiChar; const lpszDir, lpszFile:
PAnsiChar): PAnsiChar; stdcall; external 'shlwapi.dll';
function PathCombineW(lpszDest: PWideChar; const lpszDir, lpszFile:
PWideChar): PWideChar; stdcall; external 'shlwapi.dll';
function GetAbsolutePath(BasePath, RelativePath:string):string;
var
Dest:array [0..MAX_PATH] of char;
begin
FillChar(Dest,MAX_PATH+1,0);
PathCombine(Dest,PChar(BasePath), PChar(RelativePath));
Result:=string(Dest);
end;
