一行代码解决问题--最新版(up有分)
lili1 2003-05-25 12:08:26 1.关于MDI主窗体背景新解
在Form中添加Image控件
设BMP图象
name为 IMG_BK
在Foem的Create事件中写入
Self.brush.bitmap:=img_bk.picture.bitmap;
2.在标题栏处画VCL控件(一行解决问题!!!)
在 form 的onpaint 事件中
控件.pointto(getdc(0),left,top);
3 Edit 中只输入数字
SetWindowLong(Edit1.Handle, GWL_STYLE,
GetWindowLong(Edit1.Handle, GWL_STYLE) or
ES_NUMBER);
4.类似MDI方式新解
在要设置child的oncreate方式下写入:
self.parent:='要设置为mainform的Form';
5. 屏幕的Refresh(只需一行!)
RedrawWindow(0,nil,0,RDW_ERASE or RDW_INVALIDATE or RDW_ALLCHILDREN);
| |
--- ----
handle RGN(可刷新局部屏幕)
6.类似DOS下的CLS指令的WINDOWS指令!
paintdesktop(getdc(0));
7.扩展控件新功能
在编程中 ,我们经常要控制控件的动作,但该控件又没有提供该方法
这时 ,可通过发消息给该控件 ,以达到我们的目的!
如:
button1.perform(wm_keydown,13,0);
listbox1.perform(wm_vscroll,sb_linedown,0);
等等 可少去 重载之苦!!!!!
8.闪烁标题如打印机超时(一行)
form 放一timer 控件
time 事件 中 写入 ;
flashwindow(application.handle,true);
9.在桌面上加个VCL控件!(不是画的,不可refresh)
windows.setparent(控件.handle,0);
注: 想放哪都行 (如'开始处状态栏')
10.关于 '类似MDI方式新解(一行就行!!!!)'的修正
windows.setparent(self.handle,'要设置为mainform的Form');
11 普通Form象MDI中mainform始终在最底层
SetActiveWindow(0);
或 SetwindowPos(...);
12 执行下列语句开始Windows屏幕保护程序
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);
13 button 的 caption 多行显示:
SetWindowLong(Button1.handle, GWL_STYLE,
GetWindowlong(Button1.Handle, GWL_STYLE) or
BS_MULTILINE);
必要时加上 Button1.Invalidate;
14.整死windows98 :)
asm int $19 end