响应消息 WM_SIZE,如果WPARAM参数为SIZE_MINIMIZED就表示最小化了。
做法:1、在Form中加入方法:
procedure WMSize(var Msg: TWMSize); message WM_SIZE;2、实现:
procedure TForm1.WMSize(var Msg: TWMSize);
begin
if Msg.WParam=SIZE_MINIMIZED then
你的加到任务栏的代码 inherited; // 调用默认的处理
end;
做法:1、在Form中加入方法:
procedure WMSize(var Msg: TWMSize); message WM_SIZE;2、实现:
procedure TForm1.WMSize(var Msg: TWMSize);
begin
if Msg.WParam=SIZE_MINIMIZED then
你的加到任务栏的代码 inherited; // 调用默认的处理
end;
解决方案 »
- 类的实例对象
- 谁有此代码?
- delphi中如何判断adoquery中的某一个单元格为空呢?
- FORM最小化状态问题
- delphi RegisterHotKey的一个小小的问题
- 有自主产权组件或软件的兄弟请联系我,有个项目打算一起弄,可行的话一个组件有万把块收入。
- 如何开发多线程多实例的分布式应用系统???
- 在不同的form上用不同的table操作同一个access数据库表为什么不行??
- 运行时怎样用鼠标拖动改变控件的大小和位置(可以多加很多分)
- 各位老大,我急需一个透明的panel组件,谁有阿,不然,有一个拖动时不闪烁的Timage也行,谢谢了!
- 菜鸟送分50,请问,如何添加组件面板Additional页中的组件,比如ActionManager组件
- 学习DELPHI好,还是学习C++ BUILDER好?为什么?
onresize(窗体调整size时触发)
判断窗体状态
有三种:
wsNormal
wsMaximized
wsMinimized
begin
ShowWindow(Application.Handle,SW_HIDEWINDOW);
end;
在FormCreate中加如下代码
Application.Minimize := MinimizeProc;
type
TForm1 = class(TForm)
private
procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMM
AND;
//...
end; implementation {$R *.DFM}
procedure TForm1.WMSysCommand(var Message:TMessage);
begin
if Message.WParam = SC_ICON then //最小化了
begin
//form1.hide; ...
end
else
inherited;
end; 方法二,直接判断是否点了窗体非客户区的最小化按钮
type
TForm1 = class(TForm)
private
procedure Minimize(var mess:TWMNCLBUTTONDOWN);message WM_NCLBUTTON
DOWN;
//...
end; implementation
msg.wparm出不来啊,要加入什么单元吗?
begin
if TheMsg.Msg =SIZE_MINIMIZED then
showMessage('anjing');
inherited;
end;