  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 十二月 16, 2004 3:26 pm    文章主題: VFP可以自動按某個視窗的按鈕 吔 | 
				     | 
			 
			
				
  | 
			 
			
				資料來源:
 
http://www.tek-tips.com/faqs.cfm?fid=2677
 
 
英文版用法範例
 
 
To demonstrate this code, open two instances of VFP.
 
In the first, issue:
 
  ? messagebox("click Abort Retry or Ignore",2,"Special")
 
 
Then, in the second, issue:
 
  ?closewindow("Special","&Abort")
 
* Now, go back to the first and show the message box again
 
  ?closewindow("Special","&Retry")
 
* Now, go back to the first and show the message box again
 
  ?closewindow("Special","&Ignore")
 
 
中文版用法範例
 
在開另一個VFP環境
 
? messagebox("click Abort Retry or Ignore",2,"Special")
 
 
在原VFP環境
 
?closewindow("Special","中止(&A)")
 
傳回的兩個值都不為0, 則表示正常關閉
 
 
 
********************
 
PROCEDURE CloseWindow
 
LPARAMETERS pcTitle, pcButtonCaption
 
 
#DEFINE WM_COMMAND     0x0111
 
#DEFINE WM_LBUTTONDOWN 0x0201
 
#DEFINE WM_LBUTTONUP   0x0202
 
 
DECLARE INTEGER FindWindow IN user32; 
 
    STRING lpClassName,; 
 
    STRING lpWindowName 
 
 
DECLARE INTEGER FindWindowEx IN user32;
 
  INTEGER hwndParent,       ;
 
  INTEGER hwndChildAfter,   ;
 
  STRING lpszClassName,    ;
 
  STRING lpszWindowCaption 
 
 
 
DECLARE INTEGER SendMessage IN user32; 
 
    INTEGER hWnd,; 
 
    INTEGER Msg,; 
 
    INTEGER wParam,; 
 
    INTEGER lParam 
 
 
  wndDialog = FindWindow( 0, pcTitle )
 
  wndButton = 0
 
  
 
  if wndDialog > 0    
 
    * Sometimes Message WM_COMMAND 0x00110818 isn't enough,
 
    *  if you MUST click "Cancel" or "Yes", etc
 
    *  then provide a button caption
 
    if VarType(pcButtonCaption)='C'
 
       wndButton = FindWindowEx( wndDialog, 0, 'Button', ;
 
                                 pcButtonCaption )      
 
       if wndButton > 0
 
         SendMessage(wndButton, WM_LBUTTONDOWN, 1, 0x00120025 )
 
         SendMessage(wndButton, WM_LBUTTONUP,   0, 0x00120025 )
 
         * Button Clicked message
 
         SendMessage(wndDialog, WM_COMMAND,     3, wndButton  )
 
       endif
 
    endif
 
    
 
    SendMessage(wndDialog, WM_COMMAND, 1, 0x00110818 )
 
  endif
 
return Str(wndDialog,10)+str(wndButton,10) _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 2 樓
  | 
		
			
				 發表於: 星期四 十二月 23, 2004 10:04 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這不就是"讓電腦扮演網路黃牛"的基本嗎? _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 3 樓
  | 
		
			
				 發表於: 星期四 十二月 23, 2004 11:33 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這意思是說
 
送出一個雷同於keyboard 巨集的那一種意思嗎?
 
只是keyboard命令 換成了closewindows常式
 
而使用裝置由keyboard 成了mouse | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 4 樓
  | 
		 | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		bin1x
 
 
  註冊時間: 2004-08-27 文章: 462
 
  第 5 樓
  | 
		
			
				 發表於: 星期四 十二月 23, 2004 11:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 我是指說介紹這此一功能的功能何在? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |