VFP ·R¥ÎªÌªÀ°Ï ­º­¶ 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¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

°O¦íªí³æªº¦ì¸m

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµ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¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±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§@