  | 
				VFP ·R¥ÎªÌªÀ°Ï ¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.   
				 | 
			 
		 
		 
	
		| ¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD   | 
	 
	
	
		| µoªí¤H | 
		¤º®e | 
	 
	
		Ruey
 
 
  µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
  ²Ä 1 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤T ¤K¤ë 13, 2003 11:07 am    ¤å³¹¥DÃD: °O¦íªí³æªº¦ì¸m | 
				     | 
			 
			
				
  | 
			 
			
				¤å¸¹: Q285672
 
³Ì«á§ó·s¤é´Á:February 23, 2001 
 
¥»¤å¸ê°T¾A¥Î©ó: 
 
•	Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a, 6.0
 
 
 
·§z
 
¦b Visual FoxPro (VFP) ¤¤³Ð«Øªºªí³æªº¤j¤p©M¦ì¸m¦b¤£¦Pªº¹ê¨Ò¶¡¤£·|¦Û°Ê«O¦s. ¦ý¬O, ¥i¥H¦b§A¥Î VFP ³Ð«Øªºªí³æ¤¤ºc³y³oºØ¯à¤O. 
 
§ó¦h¸ê°T
 
¥H¤U¥N½X¨Ï¥Î¦b Registry.prg ¤å¥ó¤¤©w¸qªº Registry ª«¥ó. ¸Óµ{¦¡¦P VFP  5.0 ©M 6.0 ¦P®Éµo§G¥i¥H¦b Samples\Classes ¤¤§ä¨ì. ¸Ó¥Ø¿ý¦b VFP 5.0 ¤¤¦ì©óÀq»{ªº HOME() ¥Ø¿ý¤¤, ¦b VFP 6.0 ¤¤¥]§t¦b MSDN  À°§U¤¤. 
 
 
«n:爲¨Ï¥Î¸Ó¥N½X§A¥²¶·¥i¥H³X°Ý Registry.prg.
 
 
n¨Ï¥Î¸Ó¥N½X, «ö¥H¤U¨BÆJ: 
 
1.	啓°Ê VFP ¨Ã³Ð«Ø¤@Ó·sªí³æ. 
 
2.	¦b ªí³æ ¥\¯àªí¤¤, ³æÀ» ·s«ØÄÝ©Ê ¨Ó³Ð«Ø¤@Ó·sªºÄÝ©Ê. ©R¥O·sÄÝ©Ê爲 oReg. µM«á³Ð«Ø¥t¤@Ó·sÄݩʨéR¦W¥¦爲 Save_Size_Pos. ×§ï Save_Size_Pos ÄݩʪºÈ爲 .T., ¦ý¤£n§ïÅÜ oReg ÄÝ©ÊÈ. 
 
3.	Öß¶K¥H¤U¥N½X¨ìªí³æªº Load ¨Æ¥ó¤¤:
 
4.	*-----------------------------------
 
5.	* PROCEDURE Load
 
6.	*
 
7.	* AUTHOR:   Trevor Hancock, Microsoft
 
8.	*           (TREVORH@MICROSOFT.COM)
 
9.	* CREATED:  2/6/2001 12:48:04 PM
 
10.	*           for Microsoft Knowledge Base
 
11.	*           article Q285672.
 
12.	* ABSTRACT: The code writes the form size and position
 
13.	*           to the registry in order to retain
 
14.	*           these values between instances.
 
15.	*-----------------------------------
 
16.	
 
17.	
 
18.	*!* ¸Ó¥N½X¨Ï¥Î¤@ÓÀ³¥Îµ{¦¡¦W§@爲
 
19.	*!* HKCU\Software ¤Uªº®Ú¤J¤f. ³o·|±q¥t¤@ÓÀ³¥Îµ{¦¡ª«¥ó¶Ç»¼,
 
20.	*!* ¦ý爲¤F²³æ³oùرĥΤFµw½s½Xªº¤è¦¡.
 
21.	#DEFINE AppName	[A Fox Test]
 
22.	#DEFINE HKEY_CURRENT_USER	-2147483647
 
23.	
 
24.	*!* ¦pªG§A¨Ï¥Î¸Óªí³æ§@爲§Aªº©Ò¦³ªí³æªº°òÃþ,
 
25.	*!* ¤@¨Ç (¦p¹ï¸Ü¤è¶ô) ¥i¯à¤£»Ýn«O¦s¥¦Ìªº¤j¤p©M¦ì¸m.
 
26.	*!* n¹F¨ì³o¤@ÂI, ¥i¥H³]¸mªí³æÄÝ©Ê Save_Size_Pos.
 
27.	*!* .T. ªí¥Ün«O¦sªí³æªº¤j¤p©M¦ì¸m.
 
28.	IF THIS.Save_Size_Pos
 
29.		WITH THIS
 
30.			LOCAL lnKeyExist, lnTop, lnLeft, lnWidth, lnHeight, lcFormKey
 
31.			lcFormKey = [SOFTWARE] + [\] + AppName + [\] + .NAME
 
32.	
 
33.			************ START DEV OPTIONAL BLOCK **************
 
34.			* ¦b VFP 6.0 ¤¤§A¥i¥H¦b³oùبϥΠNEWOBJECT() ¥N´À
 
35.			* SET PROCEDURE ©M CREATEOBJECT():
 
36.			*
 
37.			* .oReg = NEWOBJECT([REGISTRY],HOME(2)+ [CLASSES\REGISTRY.PRG])
 
38.			*
 
39.			* ¦pªG§A¦b¤@Ó .exe ¤å¥ó¤¤¨Ï¥Î¸Óªí³æ, §AÀ³¸Ó²¾¥h
 
40.			* ³o¨Ç¥N½X¶ô¨Ã¥]§t Registry.prg ¨ì§Aªº±M®×¤¤.
 
41.			*
 
42.			IF [5] $ VERSION()
 
43.				SET PROCEDURE TO HOME()+ [\SAMPLES\CLASSES\REGISTRY.PRG] ADDITIVE
 
44.			ELSE
 
45.				SET PROCEDURE TO HOME(2)+ [CLASSES\REGISTRY.PRG] ADDITIVE
 
46.			ENDIF
 
47.			*
 
48.			********************* END *********************
 
49.	
 
50.			.oReg = CREATEOBJECT([REGISTRY])
 
51.	
 
52.			*!* Àˬdµù¥UÁäÈ. ¦pªGÁ䤣¦s¦b, §A·|±µ¦¬¨ì¤@Ó¥¿¼Æ.
 
53.			lnKeyExist = .oReg.OpenKey(lcFormKey, HKEY_CURRENT_USER)
 
54.			.oReg.CloseKey()
 
55.	
 
56.			IF lnKeyExist > 0 && Ȥ£¦s¦b, ¦]¦¹³Ð«Ø¥¦.
 
57.				.oReg.OpenKey(lcFormKey,HKEY_CURRENT_USER,.T.)
 
58.				.oReg.SetRegKey([Top], [0], lcFormKey, HKEY_CURRENT_USER)
 
59.				.oReg.SetRegKey([Left], [0], lcFormKey, HKEY_CURRENT_USER)
 
60.				.oReg.SetRegKey([Width], ALLTRIM(STR(.WIDTH)), lcFormKey, HKEY_CURRENT_USER)
 
61.				.oReg.SetRegKey([Height], ALLTRIM(STR(.HEIGHT)), lcFormKey, HKEY_CURRENT_USER)
 
62.			ENDIF
 
63.	
 
64.			*!* Ū¨úªí³æªº¤j¤p©M¦ì¸mÈ.
 
65.			.oReg.GetRegKey([Top], @lnTop, lcFormKey, HKEY_CURRENT_USER)
 
66.			.oReg.GetRegKey([Left], @lnLeft, lcFormKey, HKEY_CURRENT_USER)
 
67.			.oReg.GetRegKey([Width], @lnWidth, lcFormKey, HKEY_CURRENT_USER)
 
68.			.oReg.GetRegKey([Height], @lnHeight, lcFormKey, HKEY_CURRENT_USER)
 
69.			.oReg.CloseKey()
 
70.	
 
71.	
 
72.			*!* ³]¸mªí³æªº¤j¤p©M¦ì¸m.
 
73.			*!* µù¥UȬO CHARACTER, ¦]¦¹»ÝnÂà´«¥¦Ì.
 
74.			.TOP = ROUND(VAL(lnTop),0)
 
75.			.LEFT = ROUND(VAL(lnLeft),0)
 
76.			.WIDTH = ROUND(VAL(lnWidth),0)
 
77.			.HEIGHT = ROUND(VAL(lnHeight),0)
 
78.		ENDWITH
 
ENDIF 
 
79.	Öß¶K¥H¤U¥N½X¨ìªí³æªº Destroy ¨Æ¥ó¤¤:
 
80.	*-----------------------------------
 
81.	* PROCEDURE Destroy
 
82.	* 
 
83.	* AUTHOR:   Trevor Hancock, Microsoft
 
84.	*           (TREVORH@MICROSOFT.COM)
 
85.	* CREATED:  2/6/2001 12:48:04 PM
 
86.	*           for Microsoft Knowledge Base
 
87.	*           article Q285672.
 
88.	* ABSTRACT: The code writes the form size and position
 
89.	*           to the registry in order to retain
 
90.	*           these values between instances. 
 
91.	*-----------------------------------
 
92.	
 
93.	*!* The code uses an application name as the root entry
 
94.	*!* under HKCU\Software. This could be passed from
 
95.	*!* an application object, but for simplicity it is
 
96.	*!* hard coded here.
 
97.	#DEFINE AppName	[A Fox Test]
 
98.	#DEFINE HKEY_CURRENT_USER	-2147483647
 
99.	
 
100.	*!* If you use this form as a base class for all your forms,
 
101.	*!* some (such as dialog boxes) might not need to have their
 
102.	*!* size and position saved. To facilitate this,
 
103.	*!* a Boolean property (Save_Size_Pos) of the form
 
104.	*!* can be set. .T. = Save the size and position.
 
105.	IF THIS.Save_Size_Pos
 
106.		WITH THIS
 
107.			PRIVATE lcFormKey
 
108.			lcFormKey = [SOFTWARE] + [\] + AppName + [\] + .NAME
 
109.	
 
110.			*!* ¼gªí³æªº¤j¤p©M¦ì¸m¨ìµù¥Uªí.
 
111.			*!* §Ṳ́£ÀˬdÁä ( ¦]爲§Ṳ́w¸g¦b THIS.LOAD() ¤¤³o¼Ë°µ¤F)
 
112.			*!* ¦]爲§Ú̪¾¹D¤J¤f¬O¦s¦bªº ( ¦b THIS.LOAD() ¤¤³Ð«Ø).
 
113.			.oReg.SetRegKey([Top], ALLTRIM(STR(.TOP)), lcFormKey, HKEY_CURRENT_USER)
 
114.			.oReg.SetRegKey([Left], ALLTRIM(STR(.LEFT)), lcFormKey, HKEY_CURRENT_USER)
 
115.			.oReg.SetRegKey([Width], ALLTRIM(STR(.WIDTH)), lcFormKey, HKEY_CURRENT_USER)
 
116.			.oReg.SetRegKey([Height], ALLTRIM(STR(.HEIGHT)), lcFormKey, HKEY_CURRENT_USER)
 
117.		ENDWITH
 
ENDIF 
 
118.	«O¦s¨Ã¹B¦æ¸Óªí³æ. 
 
119.	²¾°Ê¨Ã½Õ¾ã¸Óªí³æªº¤j¤p, µM«áÃö³¬¥¦. 
 
120.	¦A¦¸¹B¦æªí³æ.
 
¨C¦¸§A¹B¦æªí³æ, ª`·N¥¦·|¥X²{¦b§A¤W¦¸Ãö³¬¥¦®Éªº¦ì¸m¥B¤j¤p¤]¬O§A¤W¦¸Ãö³¬¥¦®Éªº¤j¤p. 
 
°Ñ¦Ò
 
(c) Microsoft Corporation 2001, All Rights Reserved. Contributions by Trevor Hancock, Microsoft Corporation.
 
ªþ¥[¬d¸ßÃöÁä¦r: SIZE RETAIN POSITION WIDTH HEIGHT FORMS AUTOMATIC 
 
ÃöÁä¦r : kbCtrl kbDesigner kbOOP kbvfp500 kbvfp600 kbGrpDSFox kbDSupport kbCodeSnippet 
 
°ÝÃDÃþ«¬ : kbhowto 
 
§Þ³N : _________________ #############################
 
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
 
 
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
 
############################# | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
±z µLªk ¦b³oÓª©±µoªí¤å³¹ ±z µLªk ¦b³oÓª©±¦^ÂФ峹 ±z µLªk ¦b³oÓª©±½s¿è¤å³¹ ±z µLªk ¦b³oÓª©±§R°£¤å³¹ ±z µLªk ¦b³oÓª©±¶i¦æ§ë²¼ ±z µLªk ¦b³oÓª©±ªþ¥[ÀÉ®× ±z µLªk ¦b³oÓª©±¤U¸üÀÉ®×
  | 
   
  
  
Powered by phpBB © 2001, 2005 phpBB Group ¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@ 
		 |