我是一名初学者,有几个问题想问一下
怎样让带标题栏的窗口不能移动
怎样在程序中动态建立别名时得到数据库PATH,我用的是DLEPHI中标准数据库,比如说放在D:\RSGL\DATA\中,但在程序中不能用绝对的路径啊,万一以后在别的机子上安装路径不同,不就找不到了吗??
怎样让带标题栏的窗口不能移动
怎样在程序中动态建立别名时得到数据库PATH,我用的是DLEPHI中标准数据库,比如说放在D:\RSGL\DATA\中,但在程序中不能用绝对的路径啊,万一以后在别的机子上安装路径不同,不就找不到了吗??
解决方案 »
- String问题!救命!
- 多表关联查询问题
- 以前用 Dev ExpressPageControl for D6的控件现在想用D7的怎么办呢?
- 關于動態生成控件﹐配置其事件的問題,真正高手進﹗
- 请问如和搜索指定目录下的文件
- 请教:关于TStream的问题 急!
- 如何改???不知有人会不。
- 我已经将窗体的visible属性设置为False,为什么程序运行时该窗体依然显示?
- 求救:有经验的者快近来吧?
- 用CORBA时,找不到OrbPas.dcu的文件
- 分数不高希望各位鼎力相助,Delphi如何实现应用程序出现在任务栏右边和使机器扬声器发声?
- 有了解ASP和JSP的delphi老兄都进来聊聊,UP有分。。。
如数据库存于程序同一目录的的DATA文件下。
如下代码取得路径:
path:=ExtractFilePath(ParamStr(0))+'DATA\*****.***';
或是找不到文件时让用户自己进行选择路径,然后保存下次运行时调用就行了
begin
inherited;
//这样移动就不可能了,右上方的按钮(最大小化,关闭)也不能用。
Msg.Result := HTCLIENT;
end;
TForm1 = class(TForm)
private
{ Private declarations } procedure WMMmouseActivate(var Msg:TWMMouseActivate);message WM_MOUSEACTIVE;
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.DFM}procedure WMMmouseActivate(var Msg:TWMMouseActivate);//此窗体失去焦点后用鼠标点击仍不能击活,需从任务栏上点击begin msg.Result:=MA_NOACTIVATE;end;
procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
inherited;或是用DefaultHandler(Message);也行
//注意:若元此句则点击窗体任何处均失效,如死机般!
if Message.Result = HTCAPTION then
Message.Result := HTNOWHERE;
end;
//数据库文件在db目录下。。
function getdir:string;
var
s:string;
begin
setlength(s,144);
if getcurrentdirectory(144,pchar(s))<>0 then
begin
setlength(s,strlen(pchar(s)));
result:=s+'\db';
end;
end;//获得数据库所在目录
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(getdir);
end;