| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 1 樓
  | 
		
			
				 發表於: 星期一 一月 15, 2007 10:32 am    文章主題: 螢幕解析度的問題 | 
				     | 
			 
			
				
  | 
			 
			
				先感謝 版主 及 各位 前輩 有了這個網站 為我解決了不少的問題 相當的感謝各位
 
螢幕解析度的問題 參考了 此程式 研究了幾天 或許是本人的程度不夠 有些地方無
 
法理解 程式如下
 
 
IF SYSMETRIC(1) <> 800 &&&&&& *-- 重新調整表單的大小和位置 
 
	PUBLIC M->SCR_WID , M->SCR_HIG
 
	STORE ( SYSMETRIC(1) / 800 ) TO M->SCR_WID
 
	STORE ( SYSMETRIC(2) / 600 ) TO M->SCR_HIG
 
 
	WITH THIS  
 
		.WIDTH  = .WIDTH  * M->SCR_WID
 
		.HEIGHT = .HEIGHT * M->SCR_HIG
 
		.LEFT   = .LEFT   * M->SCR_WID
 
		.TOP    = .TOP    * M->SCR_HIG
 
 
		FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
			.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
 
			.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
 
 
			IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
				.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
 
			ENDIF 
 
		ENDFOR 
 
	ENDWITH 
 
 
	WITH THISFORM.SYS_PAGE.客戶管理
 
		FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
			.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
 
			.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
 
 
			IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
				.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
 
			ENDIF 
 
		ENDFOR 
 
	ENDWITH 
 
 
	WITH THISFORM.SYS_PAGE.開立帳單
 
		FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
			.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
 
			.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
 
 
			IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
				.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
 
			ENDIF 
 
		ENDFOR 
 
	ENDWITH 
 
 
	WITH THISFORM.SYS_PAGE.出國行程
 
		FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
			.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
 
			.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
 
 
			IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
				.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
 
			ENDIF 
 
		ENDFOR 
 
	ENDWITH 
 
 
	WITH THISFORM.SYS_PAGE.其他作業
 
		FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
			.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
 
			.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT *  M->SCR_WID
 
			.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
 
 
			IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
				.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
 
			ENDIF 
 
		ENDFOR 
 
	ENDWITH 
 
ENDIF 
 
 
************************************************************
 
問題 1 : 如何將 WITH THISFORM.SYS_PAGE.客戶管理
 
                             WITH THISFORM.SYS_PAGE.開立帳單
 
                             WITH THISFORM.SYS_PAGE.出國行程
 
                             WITH THISFORM.SYS_PAGE.其他作業 這 4 PAGE 程式簡化
 
像是 WITH 裡的 FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 而不用每
 
個 PAGE 都來一次 FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
 
問題 2 : FONTSIZE 解決了 但 字型 如何 寫
 
 
感謝各位 的再次指導 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 2 樓
  | 
		
			
				 發表於: 星期一 一月 15, 2007 1:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| .BUTTONS[nCONTROLLOOP].FONTNAME = "新細明體" | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 3 樓
  | 
		
			
				 發表於: 星期一 一月 15, 2007 3:21 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				建議用副程式解決繁瑣重複的問題. 或是提醒你一下 form 也有 CONTROLCOUNT 就像你用 .controls( ? ) 一樣
 
thisform.setsize( THISFORM.SYS_PAGE.客戶管理 )
 
thisform.setsize( THISFORM.SYS_PAGE.開立帳單 )
 
..
 
....
 
*setsize  自定的 method
 
lpara mobj
 
with mobj
 
 
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 
 
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID 
 
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG 
 
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID 
 
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG 
 
 
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5) 
 
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG 
 
ENDIF 
 
ENDFOR 
 
 
endwith _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 4 樓
  | 
		
			
				 發表於: 星期二 一月 16, 2007 12:42 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 謝謝 Garfield 的指導 但 LPARAMETERS MOBJ 為何 VFP 不吃 (無效的命令) 請再次提示 謝謝 (或許我的程度真的很低 請不佞指教) | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 5 樓
  | 
		
			
				 發表於: 星期二 一月 16, 2007 1:52 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				要在你的 form 裡增加一個自定的"方法程序"(method ) 它的名字叫 setsize
 
lpara mobj 這行以後的程式碼就放在這個 method 裡面 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 6 樓
  | 
		
			
				 發表於: 星期二 一月 16, 2007 2:34 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 Garfield 的指導 
 
在 form 裡增加一個自定的"方法程序"(method ) 它的名字叫 setsize => 我做了 再試試 謝謝
 
我會努力的學習 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 7 樓
  | 
		
			
				 發表於: 星期二 一月 16, 2007 2:41 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 謝謝 Garfield 的指導 測試 成功 相當的感謝 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |