请教一个有关于自定义FORM的初级问题
我想用一张底图来替换DELPHI的MAINFORM,请问,
1、我关闭窗口可以调用form1.close方法,那最小化窗口要使用哪一种方法。
2、我因为使用底图,我想把原来的窗口不可视,透明化掉,要怎么做,
我使用的是DELPHI 7,
问题点数:80、回复次数:11Top
1 楼47522341(睡到8:30)回复于 2005-06-02 15:05:09 得分 50
没太弄懂楼主的意思;
透明化窗体可以通过如下设置实现:
1:修改窗体Alphablend属性值为true
2:修改AlphaBlendValue属性值;0为完全透明;255为不透明Top
2 楼kaada(kaada)回复于 2005-06-02 15:50:14 得分 0
我就是想不用DELPHI默认窗体做我的MAINFORM,我想自定义一张BMP的图做我的FORM界面,不要原来的标题,边框,不知道这样说可以否Top
3 楼Microsnow(冰火)回复于 2005-06-02 16:38:59 得分 10
当然可以,你可以在窗体上放一个Image,将BMP图片载入,让Image充满整个窗体,然后再将窗体的BorderStyle属性设成bsNone即可.Top
4 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-06-02 16:44:03 得分 10
设置form的style属性(记不清了)Top
5 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-06-02 16:47:05 得分 0
delphi里有个控件Application,可以控制最小化窗体。Top
6 楼csnight(午夜飞行)回复于 2005-06-02 17:00:01 得分 10
菜单项project-->options,里面设置工程主窗体Top
7 楼kaada(kaada)回复于 2005-06-02 19:35:17 得分 0
首先谢谢大家的帮助,各位我都会适当加分,如果分不足,我会增加管理分。
不好意思,原先没有说清楚,是我自已的失误,我想建立一个无标题FORM,把外框架隐藏掉,FORM1.BORDERSTYLE := BSNONE,后来我在UNIT里加了一段代码,让窗口可以移动,
private
procedure WmNCHitTest(var Msg: TWMNCHitTest);
message WM_NCHITTEST;
procedure TForm1.WmNCHitTest(var Msg: TWMNCHitTest);
begin
DefaultHandler(Msg);
if Msg.Result = HTCLIENT then
Msg.Result := HTCAPTION;
end;
但这样的一个结果,就是,窗口是可以移动了,但是FORM内的其它事件,比如FORM1.Image3Click等其它事件不能被触发,都被拦截,请问现在要怎么办。
Top
8 楼47522341(睡到8:30)回复于 2005-06-03 08:11:17 得分 0
你现在重载了消息处理函数;但在结束后没将句柄交给父类窗体处理;
所以;等于屏蔽了所有其他的消息处理;
解决方式: 在消息处理函数最后加上一句inherited; 就可以了;
fx:
procedure TForm1.WmNCHitTest(var Msg: TWMNCHitTest);
begin
DefaultHandler(Msg); //这句好像作用不大
if Msg.Result = HTCLIENT then
Msg.Result := HTCAPTION;
inherited; //加上这句
end;
Top
9 楼47522341(睡到8:30)回复于 2005-06-03 08:14:07 得分 0
sorry;
上述代码不对;
没经过测试;我回头再看看Top
10 楼47522341(睡到8:30)回复于 2005-06-03 08:24:27 得分 0
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if (ssLeft in Shift) then begin
ReleaseCapture;
SendMessage(Form1.Handle,WM_SYSCOMMAND,SC_MOVE+1,0);
end;
end;
上面这个测试通过;我会再试试看为什么第一个不行^_^
Top
11 楼kaada(kaada)回复于 2005-06-03 11:23:29 得分 0
呵呵,一大早上班就看到你的贴子,谢谢了。
是我自已也疏忽了,非常不好意思。
程序是正常通过,高兴。Top




