久久首页
免费软件
网络时尚
网络学堂
专题讨论
网络资源
网络游戏
网络文档
网络产品
网站导航: 首页 > 网络编程 > Delphi 学堂讨论 | 推荐文章

Delphi应用编程答疑解惑


2004-05-24 金奕 
 

  问:如何实现控件面板的平滑滚动﹖

  答:安装过许多控件的朋友都知道,在众多的控件中选择一个实在不是一件轻松的事,鼠标要不停点击,如果能平滑滚动该多好啊,其实我们也能实现这一想法。

  建立一个文本文件,输入如下内容:

 
  REGEDIT4

  [hkey_current_usersoftwareorlandDelphi.0xtras]

  "autopaletteselect"="1"

  "autopalettescroll"="1"

  保存该文本文件为tip.reg,然后双击此文件,启动Delphi,看看效果如何。

  问:在Delphi中如何实现TWebbrowser页面打印?

  答:我们可以利用以下代码在Delphi中实现TWebbrowser的页面打印。

  procedure TForm1.Button1Click(Sender: TObject); 

  var 

   vaIn, 

   vaOut: OleVariant; 

  Begin 

   WebBrowser1.Navigate('www.google.com');

   WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut); 

  end; 

  问:如何实现Treeview自动展开并显示节点?

  答:我们可以利用以下代码轻松实现Treeview自动展开并显示所有节点的功能。

  var

   lnNode: TTreeNode;

  begin

   lnNode := TreeView1.Items.GetFirstNode;

   while not (lnNode = nil) do begin

   lnNode.Expand(False);

   lnNode := lnNode.GetNextSibling;

   end;

  end; 

  问:在Delphi中如何实现自动隐藏Windows的任务栏?

  答:在Delphi中实现自动隐藏Windows的任务栏的方法是首先在uses中加入ShellAPI,然后在程序中添加如下代码:

  function IsTaskbarAutoHideOn : boolean;

  var

   ABData : TAppBarData;

  begin

   ABData.cbSize := sizeof(ABData);

   Result :=

   (SHAppBarMessage(ABM_GETSTATE, ABData)

   and ABS_AUTOHIDE) > 0;

  end;

  问:Delphi中如何监视光驱中是否有光盘?

  答:我们可以利用以下代码轻松实现此功能。

  procedure Tform1.WMDEVICECHANGE(var msgx :Tmessage);

  const

   DBT_DEVICEARRIVAL=;

   DBT_DEVICEREMOVECOMPLETE=;

  begin

   inherited;

   case msgx.WParam of

   DBT_DEVICEARRIVAL:Caption :='有光盘';

   DBT_DEVICEREMOVECOMPLETE:Caption :='没有光盘';

   end;

  end;

  问:在Delphi中如何监测Winsock的运行情况?

  答:我们可以利用以下代码监测Winsock是否运行。

  uses Winsock; 

  function WinsockEnabled: boolean; 

  var wsaData: TWSAData; 

  begin 

   result := true; 

   case Winsock.WSAStartup(,wsaData) of 

   WSAEINVAL, WSASYSNOTREADY, WSAVERNOTSUPPORTED: result := false; 

   else 

   Winsock.WSACleanup; 

   end; 

  end

  问:在Delphi中如何判断系统网络连接方式?

  答:我们可以利用以下代码在Delphi中判断系统网络连接方式。

  uses wininet; 

  Function ConnectionKind :boolean; 

  var 

   flags: dword; 

  begin 

   Result := InternetGetConnectedState(@flags, 0);

   if Result then 

   begin 

   if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then 

   begin 

   showmessage('Modem'); 

   end; 

   if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then 

   begin 

   showmessage('LAN'); 

   end; 

   end; 

  end;

  运行后,我们只要看到返回的消息就可知道系统网络的连接方式了。
 
发表评论 推荐文章 关闭窗口
 相关内容
- Delphi下汉字输入法的编程及使用 2004-05-22
- 用Delphi控制Windows的关闭功能 2004-05-20
 
 学堂分类
网络知识操作系统
网络应用网络服务
网页开发网络编程
数据存储网络设备
 文章搜索
 
网站简介 | 广告服务 | 编程支持 | 设计服务 | 诚邀合作 | 访客留言
Copyright © 1999-2004 99NET. All Rights Reserved
版权所有 久久网络工作室
Email:webmaster@99net.net