📄 9931.txt
字号:
PostMessage(h, WM_QUIT, 0, 0);
Fresh1;
end;
----本程序在Delphi 3.0下调试通过, 应该能用Delphi 1.0 / 2.0编译.
----完整程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
StdCtrls, FileCtrl, ExtCtrls, Menus;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
FileListBox1: TFileListBox;
ListBox1: TListBox;
PopupMenu1: TPopupMenu;
Hide1: TMenuItem;
Show1: TMenuItem;
Close1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FileListBox1DblClick(Sender: TObject);
procedure Hide1Click(Sender: TObject);
procedure Show1Click(Sender: TObject);
procedure Close1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Fresh1;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function EnumProc(
h : HWND ;// handle of child window
l : integer// application-defined value
): boolean;stdcall;
var buf : array[0..255] of char;
begin
GetWindowText(h, buf, sizeof(buf)- 1);
if iswindowvisible(h) then
Form1.ListBox1.items.add
(' ' +strpas(buf) + ' : ' + inttostr(h))
else
Form1.ListBox1.items.add
('-' +strpas(buf) + ' : ' + inttostr(h));
Result := true;
end;
procedure TForm1.Fresh1;
begin
ListBox1.clear;
enumChildwindows(Panel2.handle,
TFNWndEnumProc(@enumproc), 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
var buf : array[0..256] of char;
begin
GetSystemDirectory(buf, sizeof(buf) - 1);
FileListBox1.directory := strpas(buf);
ListBox1.popupmenu := Popupmenu1;
end;
procedure TForm1.FileList
Box1DblClick(Sender: TObject);
begin
WinExec(pchar(FileListBox1.FileName
+ ' /p ' + inttostr(Panel2.handle)),
SW_Show);
Fresh1;
end;
procedure TForm1.Hide1Click(Sender: TObject);
var h : integer;
s : string;
begin
if ListBox1.itemindex = -1 then exit;
s := Listbox1.items[ListBox1.itemindex];
h := strtoint(copy(s, pos(':', s) + 1, length(s)));
ShowWindow(h, SW_HIDE);
Fresh1;
end;
procedure TForm1.Show1Click(Sender: TObject);
var h : integer;
s : string;
begin
if ListBox1.itemindex = -1 then exit;
s := Listbox1.items[ListBox1.itemindex];
h := strtoint(copy(s, pos(':', s) + 1, length(s)));
ShowWindow(h, SW_SHOW);
Fresh1;
end;
procedure TForm1.Close1Click(Sender: TObject);
var h : integer;
s : string;
begin
if ListBox1.itemindex = -1 then exit;
s := Listbox1.items[ListBox1.itemindex];
h := strtoint(copy(s, pos(':', s) + 1, length(s)));
PostMessage(h, WM_QUIT, 0, 0);
Fresh1;
end;
end.
****************************************************************
****************************************************************
◆下载专区◆
DirectX Control 2.7 (358K)
一个ActiveX控件,可以在可视化开发环境如VB中使用DirectX。
DirectX Control可以通过简单的API调用访问声音、输入和图像功能,不
需要书写复杂的C代码。DirectX Control支持三种不同的输入设备,你可
以得到游戏摇杆的方向和按钮状态,可以得到鼠标的坐标或者模拟键盘输
入,可以在游戏或应用程序中方便的控制他们。系统要求:DirectX 5.0
or higher
下载地址: http://www.gfcsoftware.com/dxcontrol.zip
相关站点: http://www.gfcsoftware.com/directx.htm
DCS StickyNote 1.0 (705K)
是一个ActiveX控件,可以模仿常见的黄色的即时贴或者便笺。
DCS StickyNote支持对任何便笺的编辑和预览,它可以用到你需要粘贴的
任何地方,显示或者加入用户注释。这个控件类似Microsoft Outlook 98
里的便笺。DCS Sticky Note支持固定在一个地方或者小模式弹出编辑,
在后一种模式下,几个便笺可以同时悬浮或者同时编辑,最大化的颜色和
字体类型定制,提供了多种显示选项。使用DCS StickyNote你可以:把位
图或者图标插入到便笺里;显示一个缺省的日期时间标题或者在弹出编辑
模式中显示定制的页脚;在多种状态下显示一个按钉,模拟一个大头针保
护你的便笺。
下载地址: http://12.3.191.96/DCS_StickyNote.zip
相关站点: http://www.diamondcomponents.com/stickynote/stickynote.htm
Shell Control Pack ActiveX 1.0 (1074K)
给你的应用程序以类似Windows浏览器的特性。
Shell Control Pack ActiveX包括7个控件和7个支持的对象类型。主要的
3个控件是组合框、列表查看和树状查看。这些控件可以整合在一起来保持
同步,并提供了一个无代码的Windows浏览器用户界面。使用树状和列表控
件,你可以创建自己的Windows浏览器和文件对话窗。这些对话窗提供了许
多方便,包括:一个可调整大小的框架和最大话按钮;一个有打开和保存
选项的树状查看方式,使用浏览对话窗,有一个创建和删除文件夹的按钮。
Shell Control Pack还包括:一个对话框组、一个读写lNK文件的控件和访
问外壳功能的工具。
下载地址: http://plasmatech.com/ptscpax_eval.exe
相关站点: http://plasmatech.com/scpax.htm
NCTWavPlayer 1.02 (367K)
这是一个ActiveX控件,可以让你直观的编辑WAV文件。
利用NCTWavPlayer,你可以实现基于波形的音频数据上的很多操作。你可
以打开和播放WAV文件,并选择WAV文件的一部分进行缩小。你可以利用这
个可视化的编辑器来复制,剪切和粘贴文件的各部分。在任何一种采样速
率下,NCTWavPlayer都可以运行单声道和立体声的文件。 NCTWavPlayer
工作的环境要求支持ActiveX控件,包括:Visual Basic, Visual C++,
Delphi,PowerBuilder,以及Visual FoxPro。NCTWavPlayer支持如下的
音频格式:DSP,Microsoft GSM,MPEG-3,PCM,以及其它的。
下载地址: http://www.uic.nnov.ru/~koab/NCT/download/Setup.exe
相关站点: http://www.uic.nnov.ru/~koab/NCT/
****************************************************************
****************************************************************
◆有问必答◆
★本期回答★
●084. 回答请mailto: yaozheng@kali.com.cn?subject=084
请问:如何解码用UTF-8编码过的内容? w_delphi@sohu.com
答:
试着用 MultiByteToWideChar(CP_UTF8,................),
●1OO. 回答请mailto: yaozheng@kali.com.cn?subject=100
请问怎样在Dephi中模拟一个按键动作,如按下end、enter键等,用Windows
API 函数吗?是不是用keybd_event?怎样用?十分感谢!
dy001@21cn.com
答:
用SendMessage 或 PostMessage 吧,只是要手工写一下wParam,lParam值,
具体内容请看帮助,呵呵。
●1O3. 回答请mailto: yaozheng@kali.com.cn?subject=103
各位编程高手,现在我要在VC6.0中用到ActiveX VCI Formula One Workbook,
用它来转换Excel格式文件,但是VC中提供的帮助不全,我有许多地方不清楚,
e.g. Read方法仅仅读进一个Worksheet, 多个Workwheets的情况如何处理?而
且我还有其它问题。那位高手曾经做过这方面的工作,或者知道哪本书中有较
详细的关于Formula One的资料,请您赐教。
我的E-mail Address is: tangxiaosheng@yeah.net.
答:
假设你的formula one的名字叫:ole_sheet。可以这样写:
ole_sheet.Sheet = iSheetOrder; // 第几个sheet的顺序,从左到右
排然后写入其他的代码,以后所有的操作都是对这个sheet操作的。应该注意,
formula one 所有的单元格属性的方法操作,都是对当前sheet的当前选中区
域进行的。我在公司里用这个控件开发过一个完整的凭证打印程序,如有问题
或需要帮助文件,可与我联系:阿蒙 ameng@Genersoft.com OICQ:362134
●1O6. 回答请mailto: yaozheng@kali.com.cn?subject=106
各位好!我是一名delphi初学者,在数据库方面有几个问题想向大家请教:
如何将一些jpg文件存入数据库中和怎样把他读出并正常显示。谢谢!
韦明 weimingxx@263.net
答:
我没有用过delphi,你可以把jpg文件用2进制的方式读入byte数组,
然后赋给数据库的图像字段即可。
sql server,access等数据库的图像字段实际上保存的就是文件的2进制流。
Alex
●1O7. 回答请mailto: yaozheng@kali.com.cn?subject=107
我设计了一个数据采集的ISA插卡,想使用外部中断。现请教先生,怎样在
VB5中控制外部中断?谢谢! tttxsbc@public1.sz.js.cn
答:
请问先生现在找到VB5中使用外部中断的方法没有,听说有一种外部中断的
控件。另外,也可以写一个线程后台查询中断来解决,不知您是否有其它别
的高招,我现在也碰上了这个问题,能否来信探讨?
_______________________________________________________________
★本期提问★
1O9. 回答请mailto: yaozheng@kali.com.cn?subject=109
请问各位VC++高手,在VC的对话框之菜单中如何设置如同单/多文档界面之
菜单中的UPDATE_COMMAND_UI消息,即在菜单中某项被选中后可以打上勾或
一个点,再选,勾或点消失,如果两项只能选中一个又该如何处理?小弟在此
谢过了!mailto: xiaoem@163.net
110. 回答请mailto: yaozheng@kali.com.cn?subject=110
有一数列,“123456”,请穷尽这一组数列。
如:123456
123465
123546
123564
123645
123654
:
:
:
654321
编一程序打印这一组数列的所有组合。请各位将源程序写出来,尽快发
给我好吗?李欢 li_huan@netease.com
111. 回答请mailto: yaozheng@kali.com.cn?subject=111
各位好!我是一名delphi初学者,请那位高手指点一下!如何通过键盘控
制窗体的可见与隐藏,例如,我按下A键窗体隐藏,再按下A键窗体可见!
怎样实现,请写出具体过程!谢谢!韦明 weimingxx@263.net
112. 回答请mailto: yaozheng@kali.com.cn?subject=112
请问:怎么取得控件 EDIT 的 Undo Buffer ?(以便取得其内容)
Undo Buffer 的具体结构是怎么定义的?或者说在哪儿查看定义?我提以
上两个问题的目的是为了实现文本编辑器的无限次 Undo(Redo) , 如果有
另外更好的方法也请告知。谢谢! anole@telekbird.com.cn
提问信箱: yaozheng@kali.com.cn?subject=question
如果您有什么疑难问题,请发到上面的信箱里,我会及时把您的问题放在
杂志上的,希望编程高手们能不吝赐教,也希望这个栏目能成为大家交流
的场所。
****************************************************************
****************************************************************
◆编者的话◆
本刊已加入【CHINA-EZL】中国电子杂志联盟
联盟主页地址 http://china-ezl.yeah.net
◆欢迎光临我的个人主页
●《编程技术》 http://person.zj.cninfo.net/~yao
本刊的同名主页,主要以收集各类编程工具控件和程序源代码为主。
●《C++ Builder世界》 http://cppbuilder.myrice.com
本人最新制作的个人主页,是一个探讨C++ Builder编程的专题
网站,为广大的C++ Builder爱好者搜集关于C++ Builder的一切。
◆《编程技术》订、退方法:
请到本刊主页进行订退工作 http://person.zj.cninfo.net/~yao
如果您觉得这份刊物还不错的话,欢迎把它介绍给您的朋友.
不知道您看了这期刊物有什么想法或者是意见,欢迎向我提出来.
本人感激不尽,我的联系方法如下:
E-mail:yaozheng@kali.com.cn
ICQ#: 43260473
**************************THE END**************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -