ÄúÏÖÔÚµÄλÖÃÊÇ£º Èí¼þ > Éè¼ÆÔÚÏß > ÍøÒ³ÌÕ°É > ¼¼Êõƽ̨ > HTMLѧϰ > ÕýÎÄ


-Win xpÖеĶàÖÖÍøÂç
-ÊÔÑéÊÔÑéÊÔÑéÊÔÑé
-ÓÃFreehandʵÏÖλͼʸÁ¿»¯
-ÍøÂçµç»°ÃæÃæ¹Û

ÎÒ²»¼ûÁË
2000-08-30¡¤ ¡¤ÎâÖÐÎÀ¡¤¡¤yesky

ÎÒ²»¼ûÁË ¡¡¡¡Õâ»Ø»¹ÊǵÃÒÀ¿¿Win32 Fun Call¡£ÓÐЩVCL²»ÄÜʵÏֵŦÄÜ£¬²»ÓÃËû±äͨһÏÂÊÇ×ß²»Í¨µÄ¡£ÕýÈçÓÐÁ˽î¹Ç°ô£¬Ã»ÓдÏÃ÷µÄÄÔ´üÒ»ÑùҲȡ²»Á˾­¡£ ¡¡¡¡Ò»°ãÀ´Ëµ£¬ÒþÉíÊõ¿ÉÒÔÓÃÀ´Òþ²Ø±êÌ⣬Application.Title»òTForm.Caption,»òÔÚTASKBARÉϲ»¿É¼û£¬ÆäÐÐΪ¾ÍÏñÊÇShowMessageÒ»Ñù£¬²»¹ýÕâÀïÊÇFormÈÝÆ÷¡£ ¡¡¡¡ÎÒÃÇÏÈÀ´¿´Ò»¿´ÕâÓëÉèÖÃBorderIconsΪ[](¿Õ)ʱÓÐʲô²»Í¬¡£ ¡¡¡¡µ±BorderIcons±»¸³ÖµÎª[]£¬»òÔÚFormÉè¼ÆÊ±ÈÃËûΪ[]£¬ÄÇôÔÚÔËÐÐʱ¾Í»á»áÏóÒ»¸öÎÞ3DÊôÐÔµÄPanelÒ»Ñù¡£ ¡¡¡¡ÎÒÃÇÖªµÀ£¬ÔÚTFormµÄÊôÐÔÀﻹÓÐÒ»¸öBorderStyleµÄÊôÐÔ£¬µ±ÎÒÃǹرÕFormµÄÏÔʾ·ç¸ñ£¬¼´¸³ÖµBorderStyleΪbsNoneʱÓÖ³ÉΪһ¸öÔÚ×ÀÃæÉϵĻÒɫͼÏó¡£ ¡¡¡¡¶øÀûÓÃSetWindowLong×÷ÓÃÓÚFormʱµÄ±íÏÖÊÇ£¬CaptionÒÔÉϲ¿·Ö¶ÔÊó±ê£¬Ã»Óз´Ó¦£¡Èç¹ûÕâʱÈÃHeightµÈÓÚClientHeight£¬Äã¿´Ïñ²»ÏñÕýÔÚ×öÒ»¸öFlash,(¾ÍÊÇDelphiÆô¶¯Ê±µÄÄǸö»­Ãæ). ¡¡¡¡²»¹ýÓ¦¸Ã×¢ÒâµÄÊÇ£¬SetWindowLong¶ÔApplicationºÍTFormµÄ×÷Óá¢Ð§¹ûºÍÔËÐÐʱµÄ±íÏÖ¶¼²»Ò»Ñù¡£¶ÔApplication¶øÑÔ£¬SetWindowLong×¢ÖØApplicationÔÚWin9x¡¢Win2kµÄµÇ¼ÇʱµÄÀàÐÍClass Style,¶øFormÔòÊDzàÖØ±íÏÖ·ç¸ñ¡£Óɴ˲úÉúµÄʵ¼ÊÓÃ;ҲÊDz»Í¬µÄ¡£ÎÒÃÇÓÃSetWindowLong×÷ÓÃÓÚApplication.HandleÊÇÒþÉí£¬¶ã±Ü×·×Ù£¬ÔÚCTRL+ALT+DELµÄÈÎÎñÁбíÖв»¿É¼û£¬¶ø×÷ÓÃÔÚForm.HandleÉÏÒ»°ãÓÃÀ´×ö͸Ã÷´°Ìå»òFlash»­Ãæ¡£ ¡¡¡¡ÏÂÃæÊǺ¯ÊýÔ­ÐÍ£º ¡¡¡¡LONG SetWindowLong( ¡¡¡¡HWND hWnd, //±»ÉèÖÃStyleµÄµÄ´°¿Ú¾ä±ú ¡¡¡¡int nIndex, //ÔÚÊôÐÔ¼¯ºÏÀïµÄË÷ÒýÖµ ¡¡¡¡LONG dwNewLong //еÄÊôÐÔÖµ ¡¡¡¡); ¡¡¡¡ÔÚÆÕͨ´°¿ÚÖÐnIndexÊôÐÔ¼¯ºÏΪ ¡¡¡¡ ¡¡¡¡GWL_EXSTYLE ÉèÖÃΪеÄÀ©Õ¹·ç¸ñ ¡¡¡¡GWL_STYLE ÉèÖÃΪзç¸ñ ¡¡¡¡GWL_WNDPROC ÉèÖÃеÄÏûÏ¢º¯ÊýµØÖ· ¡¡¡¡GWL_HINSTANCE ÉèÖÃеÄApplication¾ä±ú ¡¡¡¡GWL_ID ÉèÖÃеĴ°¿Ú±íʶ ¡¡¡¡GWL_USERDATA ÉèÖÃÓë´°¿Ú¶ÔÓ¦µÄÒ»¸ö32λÊýÖµ¡£Ã¿Ò»¸öÕâÑùµÄ¸ÃÊýÖµ¶¼´ú±í ¡¡¡¡Ò»¸ö½¨Á¢Á˵Ĵ°¿Ú ¡¡¡¡µ±¸Ã´°¿ÚΪ¶Ô»°¿òʱ£¬ÆäÊôÐÔ¼¯ºÏºÍÒâÒåÈçÏ£º ¡¡¡¡ ¡¡¡¡DWL_DLGPROC ÉèÖÃеĶԻ°¿òÏûÏ¢º¯ÊýµØÖ· ¡¡¡¡DWL_MSGRESULT ÉèÖöԻ°¿òµÄ·µ»ØÖµ ¡¡¡¡DWL_USER ÉèÖÃ˽ÓеÄÐÅÏ¢£¬ÈçÖ¸Õë¡¢º¯ÊýµÈ. ¡¡¡¡ ¡¡¡¡ÏÖÔÚÓÐÁËÒ»¸öÎÊÌ⣬ÄǾÍÊÇÎÒÃÇÔõô֪µÀÐèÒªÉèÖ÷ç¸ñµÄ´°¿ÚÔ­À´ÓжàÉÙÊôÐÔÄØ£¬Õâ¾ÍÊÇGetWindowLongµÄ×÷ÓÃÁË£¬GetWindowLongÓëSetWindowLongÔÚ²ÎÊýµÄº¬ÒåÉÏÊÇÒ»ÑùµÄ£¬ÒòΪÊÇ·µ»Ø´°¿ÚµÄÏÖÓÐÊôÐÔ£¬Òò´Ë »ÓеÚÈý¸ö²ÎÊý£º ¡¡¡¡LONG SetWindowLong( ¡¡¡¡HWND hWnd, //±»ÉèÖÃStyleµÄµÄ´°¿Ú¾ä±ú ¡¡¡¡int nIndex //ÔÚÊôÐÔ¼¯ºÏÀïµÄË÷ÒýÖµ ¡¡¡¡); ¡¡¡¡ÓÐÁËÒÔÉϵÄ×¼±¸£¬ÎÒÃǾÍÀ´³¢ÊÔÒ»ÏÂËûÃǵÄ×÷Óá£ÏÈÓÃApplicationÊÔÊÔ£º ¡¡¡¡TaskBarÉϵÄÓ¦Óò»¼ûÁË ¡¡¡¡(ÔÚ¹¤³ÌÎļþÀï) ¡¡¡¡uses ¡¡¡¡Windows, ¡¡¡¡Forms, ¡¡¡¡... ¡¡¡¡; ¡¡¡¡{$R *.RES} ¡¡¡¡begin ¡¡¡¡With Application Do ¡¡¡¡try ¡¡¡¡//°ÑÓ¦ÓõÄÊôÐÔÉèÖÃΪ¹¤¾ß´°¿ÚÑùʽ ¡¡¡¡SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) OR WS_EX_TOOLWINDOW); ¡¡¡¡Initialize; ¡¡¡¡Title := ÑÝʾ³ÌÐò; ¡¡¡¡// CreateForm(...); ¡¡¡¡... ¡¡¡¡Run; ¡¡¡¡finally ¡¡¡¡Terminate; ¡¡¡¡end;end. ¡¡¡¡ ¡¡¡¡È»ºóתµ½FormÀï¼ìÑéForm.Handleprocedure TForm1.FormCreate(Sender: TObject);begin ¡¡¡¡//²»Òª±êÌâÀ¹ ¡¡¡¡SetWindowLong(Handle,GWL_STYLE, ¡¡¡¡GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION); ¡¡¡¡Height := ClientHeight;end; ¡¡¡¡ ¡¡¡¡ºÙºÙ£¬±ä³ÉFlash ScreenÁË¡£ ¡¡¡¡ÏÂÃæÊÇһЩ³£Óõķç¸ñÑùʽ£¨×ªÔØ×ÔWindows.pas£©: ¡¡¡¡{$EXTERNALSYM WS_OVERLAPPED} ¡¡¡¡WS_OVERLAPPED = 0; ¡¡¡¡{$EXTERNALSYM WS_POPUP} ¡¡¡¡WS_POPUP = DWORD($80000000); ¡¡¡¡{$EXTERNALSYM WS_CHILD} ¡¡¡¡WS_CHILD = $40000000; ¡¡¡¡{$EXTERNALSYM WS_MINIMIZE} ¡¡¡¡WS_MINIMIZE = $20000000; ¡¡¡¡{$EXTERNALSYM WS_VISIBLE} ¡¡¡¡WS_VISIBLE = $10000000; ¡¡¡¡{$EXTERNALSYM WS_DISABLED} ¡¡¡¡WS_DISABLED = $8000000; ¡¡¡¡{$EXTERNALSYM WS_CLIPSIBLINGS} ¡¡¡¡WS_CLIPSIBLINGS = $4000000; ¡¡¡¡{$EXTERNALSYM WS_CLIPCHILDREN} ¡¡¡¡WS_CLIPCHILDREN = $2000000; ¡¡¡¡{$EXTERNALSYM WS_MAXIMIZE} ¡¡¡¡WS_MAXIMIZE = $1000000; ¡¡¡¡{$EXTERNALSYM WS_CAPTION} ¡¡¡¡WS_CAPTION = $C00000; { WS_BORDER or WS_DLGFRAME } ¡¡¡¡{$EXTERNALSYM WS_BORDER} ¡¡¡¡WS_BORDER = $800000; ¡¡¡¡{$EXTERNALSYM WS_DLGFRAME} ¡¡¡¡WS_DLGFRAME = $400000; ¡¡¡¡{$EXTERNALSYM WS_VSCROLL} ¡¡¡¡WS_VSCROLL = $200000; ¡¡¡¡{$EXTERNALSYM WS_HSCROLL} ¡¡¡¡WS_HSCROLL = $100000; ¡¡¡¡{$EXTERNALSYM WS_SYSMENU} ¡¡¡¡WS_SYSMENU = $80000; ¡¡¡¡{$EXTERNALSYM WS_THICKFRAME} ¡¡¡¡WS_THICKFRAME = $40000; ¡¡¡¡{$EXTERNALSYM WS_GROUP} ¡¡¡¡WS_GROUP = $20000; ¡¡¡¡{$EXTERNALSYM WS_TABSTOP} ¡¡¡¡WS_TABSTOP = $10000; ¡¡¡¡{$EXTERNALSYM WS_MINIMIZEBOX} ¡¡¡¡WS_MINIMIZEBOX = $20000; ¡¡¡¡{$EXTERNALSYM WS_MAXIMIZEBOX} ¡¡¡¡WS_MAXIMIZEBOX = $10000; ¡¡¡¡{$EXTERNALSYM WS_TILED} ¡¡¡¡WS_TILED = WS_OVERLAPPED; ¡¡¡¡{$EXTERNALSYM WS_ICONIC} ¡¡¡¡WS_ICONIC = WS_MINIMIZE; ¡¡¡¡{$EXTERNALSYM WS_SIZEBOX} ¡¡¡¡WS_SIZEBOX = WS_THICKFRAME; ¡¡¡¡{ͨÓô°¿ÚÑùʽ} ¡¡¡¡{$EXTERNALSYM WS_OVERLAPPEDWINDOW} ¡¡¡¡WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or ¡¡¡¡WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX); ¡¡¡¡{$EXTERNALSYM WS_TILEDWINDOW} ¡¡¡¡WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW; ¡¡¡¡{$EXTERNALSYM WS_POPUPWINDOW} ¡¡¡¡WS_POPUPWINDOW = (WS_POPUP or WS_BORDER or WS_SYSMENU); ¡¡¡¡{$EXTERNALSYM WS_CHILDWINDOW} ¡¡¡¡WS_CHILDWINDOW = (WS_CHILD); ¡¡¡¡{À©Õ¹´°¿ÚÑùʽ} ¡¡¡¡{$EXTERNALSYM WS_EX_DLGMODALFRAME} ¡¡¡¡WS_EX_DLGMODALFRAME = 1; ¡¡¡¡{$EXTERNALSYM WS_EX_NOPARENTNOTIFY} ¡¡¡¡WS_EX_NOPARENTNOTIFY = 4; ¡¡¡¡{$EXTERNALSYM WS_EX_TOPMOST} ¡¡¡¡WS_EX_TOPMOST = 8; ¡¡¡¡{$EXTERNALSYM WS_EX_ACCEPTFILES} ¡¡¡¡WS_EX_ACCEPTFILES = $10; ¡¡¡¡{$EXTERNALSYM WS_EX_TRANSPARENT} ¡¡¡¡WS_EX_TRANSPARENT = $20; ¡¡¡¡{$EXTERNALSYM WS_EX_MDICHILD} ¡¡¡¡WS_EX_MDICHILD = $40; ¡¡¡¡{$EXTERNALSYM WS_EX_TOOLWINDOW} ¡¡¡¡WS_EX_TOOLWINDOW = $80; ¡¡¡¡{$EXTERNALSYM WS_EX_WINDOWEDGE} ¡¡¡¡WS_EX_WINDOWEDGE = $100; ¡¡¡¡{$EXTERNALSYM WS_EX_CLIENTEDGE} ¡¡¡¡WS_EX_CLIENTEDGE = $200; ¡¡¡¡{$EXTERNALSYM WS_EX_CONTEXTHELP} ¡¡¡¡WS_EX_CONTEXTHELP = $400; ¡¡¡¡{$EXTERNALSYM WS_EX_RIGHT} ¡¡¡¡WS_EX_RIGHT = $1000; ¡¡¡¡{$EXTERNALSYM WS_EX_LEFT} ¡¡¡¡WS_EX_LEFT = 0; ¡¡¡¡{$EXTERNALSYM WS_EX_RTLREADING} ¡¡¡¡WS_EX_RTLREADING = $2000; ¡¡¡¡{$EXTERNALSYM WS_EX_LTRREADING} ¡¡¡¡WS_EX_LTRREADING = 0; ¡¡¡¡{$EXTERNALSYM WS_EX_LEFTSCROLLBAR} ¡¡¡¡WS_EX_LEFTSCROLLBAR = $4000; ¡¡¡¡{$EXTERNALSYM WS_EX_RIGHTSCROLLBAR} ¡¡¡¡WS_EX_RIGHTSCROLLBAR = 0; ¡¡¡¡{$EXTERNALSYM WS_EX_CONTROLPARENT} ¡¡¡¡WS_EX_CONTROLPARENT = $10000; ¡¡¡¡{$EXTERNALSYM WS_EX_STATICEDGE} ¡¡¡¡WS_EX_STATICEDGE = $20000; ¡¡¡¡{$EXTERNALSYM WS_EX_APPWINDOW} ¡¡¡¡WS_EX_APPWINDOW = $40000; ¡¡¡¡{$EXTERNALSYM WS_EX_OVERLAPPEDWINDOW} ¡¡¡¡WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE); ¡¡¡¡{$EXTERNALSYM WS_EX_PALETTEWINDOW} ¡¡¡¡WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST); ¡¡¡¡ ¡¡¡¡
¡ö Ïà¹ØÄÚÈÝ
¸Ðл ·ÃÎÊÌì¼«Íø£¬Èç¹ûÄú¾õµÃ¸ÃÎÄÕÂÉæ¼°°æÈ¨ÎÊÌ⣬Çë¿´ÕâÀ