高手你们好:
不用再多说别的了,请看下面!!!! 1、选来个小Kiss的,怎样做像Office XP那样的菜单,如果菜单上的图标当指针移上去的时候图标要有动态的阴影效果。
2、嘿嘿!这个问题可是非同小可的了:怎样用最简单的方法实现系统热键的应用,(不限操作系统)这里就以(Ctrl + Enter)组合键为例,当我按下这个组合键的时候执行一条语句。 3、哈哈!这个问题就更是不得了了!怎样才能够在不限制操作系统(注:不限制操作系统也就是不管是win98、2k、XP等操作系统上都能实现)的时候自由地控制光驱的出入,更重要的就是怎样窃获计算机所有分驱和光驱的响应事件!比如说当我双击计算机内任一一个分驱时,并不是打开本分驱而是运行一语句! 以上问题你能够实现的请写出代码,并注明是第几题!当你完成了其中任一一题,你将获得一份小小的惊嘻!如果都解决了,你会有一场大惊喜的!不信你试试!!!!
不用再多说别的了,请看下面!!!! 1、选来个小Kiss的,怎样做像Office XP那样的菜单,如果菜单上的图标当指针移上去的时候图标要有动态的阴影效果。
2、嘿嘿!这个问题可是非同小可的了:怎样用最简单的方法实现系统热键的应用,(不限操作系统)这里就以(Ctrl + Enter)组合键为例,当我按下这个组合键的时候执行一条语句。 3、哈哈!这个问题就更是不得了了!怎样才能够在不限制操作系统(注:不限制操作系统也就是不管是win98、2k、XP等操作系统上都能实现)的时候自由地控制光驱的出入,更重要的就是怎样窃获计算机所有分驱和光驱的响应事件!比如说当我双击计算机内任一一个分驱时,并不是打开本分驱而是运行一语句! 以上问题你能够实现的请写出代码,并注明是第几题!当你完成了其中任一一题,你将获得一份小小的惊嘻!如果都解决了,你会有一场大惊喜的!不信你试试!!!!
(*//
标题:判断是否完成一系列按键操作
说明:示例按键彩蛋
设计:Zswang
日期:2002-01-25
支持:[email protected]
//*)///////Begin Source
function IsSeriesKey(var nIndex: Integer; mShortCuts: array of TShortCut;
mShortCut: TShortCut): Boolean; { 返回是否完成一系列按键操作 }
begin
Result := False;
if (nIndex >= Low(mShortCuts)) and (nIndex <= High(mShortCuts)) then
begin
if (mShortCuts[nIndex] = mShortCut) then
Inc(nIndex)
else nIndex := 0;
Result := nIndex > High(mShortCuts);
if Result then nIndex := 0;
end;
end; { IsSeriesKey }
///////End Source///////Begin Demo
{ uses Menus }
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
{$J+}
const
vIndex: Integer = 0; //可修改类型常量(静态变量)适用Delphi6.0
{$J-}
begin
if IsSeriesKey(vIndex, [
TextToShortCut('Ctrl+z'),
TextToShortCut('Ctrl+s'),
TextToShortCut('Ctrl+w'),
TextToShortCut('Ctrl+a'),
TextToShortCut('Ctrl+n'),
TextToShortCut('Ctrl+g')],
ShortCut(Key, Shift)) then
ShowMessage('Hello World!');
end;
///////End Demo
1:使用控件TXPMenu,免费有源代码的!
2:使用控件THotKey,也是免费有源代码的!
这两个问题太简单了,网上下载就会有的。
3:控制光驱的出入?这个容易!光驱的响应事件也容易,分区就真的麻烦了,
控件TCDEVENTS解决光驱的响应事件
控制光驱的出入:
function TMainForm.OpenCDRom(Drive: char): boolean;
var
res:mcierror;
openparm:TMCI_Open_Parms;
flags:dword;
s:string;
deviceid:word;
begin
result:=true;
s:=drive+':';
flags:=mci_open_type or mci_open_element;
with openparm do
begin
dwcallback:=0;
lpstrdevicetype:='CDAudio';
lpstrelementname:=pchar(s);
end;
res:=mcisendcommand(0,mci_open,flags,longint(@openparm));
if res <> 0 then exit;
deviceID:=openparm.wdeviceid;
try
res:=mcisendcommand(deviceid,mci_set,mci_set_door_open,0);
if res = 0 then exit;
result:=false;
finally
mcisendcommand(deviceid,mci_close,flags,longint(@openparm));
end;
end;function TMainForm.CloseCDRom(Drive: char): boolean;
var
res:mcierror;
openparm:TMCI_Open_Parms;
flags:dword;
s:string;
deviceid:word;
begin
result:=true;
s:=drive+':';
flags:=mci_open_type or mci_open_element;
with openparm do
begin
dwcallback:=0;
lpstrdevicetype:='CDAudio';
lpstrelementname:=pchar(s);
end;
res:=mcisendcommand(0,mci_open,flags,longint(@openparm));
if res <> 0 then exit;
deviceID:=openparm.wdeviceid;
try
res:=mcisendcommand(deviceid,mci_set,mci_set_door_closed,0);
if res = 0 then exit;
result:=false;
finally
mcisendcommand(deviceid,mci_close,flags,longint(@openparm));
end;
end;
解释:) 小惊喜@_^:每次给你一个一个奔,外加一百分 大惊喜哇,那不得了了,呵呵,送你一个大木马。哈哈。,我拴了先:),
happy and lucky,早日完成你的做品哦,完成了,给个消息,送大哥哥一个,大哥哥帮你测试:))