摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
图解Delphi 8 Eco 开发实战
用Delphi编写后台监控软件
用Delphi获取Windows及系统路径
用Delphi实现24位真彩色图标
用Delphi实现24位真彩色图标(2)
用Delphi实现24位真彩色图标(1)
用Delphi7.0实现漂亮的汉字窗口

Delphi使用心得


日期:2008-10-20 22:11:30    来源:
   
 ·图解Delphi 8 Eco 开发实战 ·使用Delphi轻松控制IE窗口
 ·网友心得交流:Photoshop鼠绘可爱的小猫-5
Delphi使用心得

  Delphi是Borland公司推出的一个可视化、面向对象的快速应用程序开发工具,继16位的1.0版本后,又推出了32位的2.0、3.0版本,很受开发人员的欢迎。下面就将我在学习Delphi过程中的一些心得奉献给大家,希望能给您带来帮助和启示。

  一、如何使Form在不同的聊环直率下显示出同样大小?

  我喜欢把我的15英寸显示器置于800×600的模式下,因为这时的色彩和字体都比较好看,但是在这种模式下用Delphi设计的程序运行于别的机器上时往往由于分辨率不同、字体大小不同显得很难看,相信不少朋友和我一样遇到同样的情况,当然我们可以“强迫”别人也使用800×600的分辨率。那么有没有办法使自己的程序“专业化”一些,能够自适应屏幕的分辨率呢,答案是肯定的,因为Delphi 提供了ScaleBy这个过程,利用这个过程我们可以在FormCreate时轻易地控制form 的外观。实现的代码如下:


implementation

const

ScreenWidth:LongInt=800;

ScreenHeight:LongInt=600;

{I designed my form in 800×600 mode.}

{$ R*.DFM}

procedure TMainForm.FormCreate(Sender:TObject);

var

OldFormWidth:integer;

begin

Scaled:=TRUE;

if(Screen.width $#@60;$#@62; ScreenWidth)then

begin

OldFormWidth:=Width

Height:=longint(Height)*longint(Screen.Height)DIV ScreenHeight;

Width:=longint(Width)*longint(Screen.Width)DIV ScreenWidth;

ScaleBy(Screen.Width,ScreenWidth);

Font.Size:=(Width DIV OldFormWidth)*FontSize;

end;

end;

  二、如何判断一个程序是否已在运行?

  在某些时候我们通常需要自己编制的程序只可以有一份拷贝在运行,如何作到这一点呢?通常我们可以用GetWindowsWord获得窗口句柄,再用GetClassName获得并比较ClassName来达到目的。

...

Result:=true;

if GetWindowWord (Wnd, Gww_HINSTANCE)

=hPrevInst then

begin

GetClassName(Wnd,ClassName,30);

if StrIComp(ClassName,TApplication)=0 then

begin

TargetWindow^:=Wnd;

Result:=false;

end;

end;

...

  后来我曾在网上看过一段关于此方面 得鳎樯芰肆硪恢址椒ǎ峭ü谀诖嬷薪⑵煊锉曛臼迪执斯δ艿模粤艘幌滦Ч芎茫咛宓墓碳旅娴某绦蛴胱⑹停?/p>

 unit prevcode;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs

type

TForml=class(TForm)

procedure FormCreate(Sender:TObject);

private

{Private declarations}

public

{Public declarations}

end;

function DoIExist(WndTitle:String):Boolean;

var

Form1:TForm1;

implementation

{$R*.DFM

function DoIExist(WndTitle:String):Boolean;

var

hSem:THandle;

hWndMe,hWnPrev:HWnd;

semNm,wTtl:Array[0..256]of Char;

beigin

Result:=False;

StrPCopy(semNm,SermaphoreName);

StrPCopy(wTtl,WndTitle);

hSem:=CreateSemaphore(nil,0,1,semNm);//如果第一次运行则建立一个标志

//检查这个标志是否存在

if(hSem $#@60;$#@62; 0)AND(GetLastError()=ERROR_ALREADY_EXISTS))then

begin

CloseHandle(hSem);

hWndMe:=FindWindow(nil,wTtl);//获得当前运行的窗口句柄,改变标题

SetWindowText(hWndMe,zzzzzzz);//这样才可以寻找其他instance

//寻找这个视窗的instance,然后将它置于Z-order顶层

hWndMe:=FindWindow(nil,wTtl);

if(hWndMe $#@60;$#@62; 0)then

begin

if IsIconic(hWndMe) then ShowWindow (hWndMe, SW_SHOWNORMAL)

else

SetForegroundWindow(hWndMe);

end;

Result:=True;

end;

end;

procedure TForm.FormCreate(Sender:TObject);

begin

if DOIExist(Self.Caption)then

Halt;

end;

 [1]

用Delphi编写后台监控软件

拼出精彩世界——Puzzle Pro 2.0使用手记(1)-6

网友心得交流:Photoshop鼠绘可爱的小猫-4

--->IEHistoryView 1.34┊能帮助使用者管理网页浏览历史的小工具┊汉化绿色免费版
--->Symantec Ghost Explorer V11.0.1.1533┊包括不同环境使用的Ghost┊汉化集成绿色特别版
--->E城瑞星2006智能升级程序V1.4正式版(使用前看说明)
--->Arovax AntiSpyware 2.0.113┊极容易使用的反间谍扫描及清除软件┊英文免费版
--->Disktective V5.0.1┊允许使用饼形图可视化你的硬盘使用情况┊英文绿色免费版
Tags:  Delphi 使用 心得

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们