²Ä 3 ³¹¡@¥H¹ï¸Ü²°¬°¬É­±ªºµ{¦¡


¥H¹ï¸Ü²°¬°¬É­±ªºµ{¦¡

³o¤@³¹¡A¤p¤ì°¸¥´ºâ¤¶²Ð¦b WIN64 ¨t²Î¤U¡A¥H²Õ¦X»y¨¥¼¶¼g¹ï¸Ü²°¬É­±ªºµ{¦¡¡C¥H¹ï¸Ü²°¬°¬É­±ªºµ{¦¡¡A«Ø¥ßµøµ¡«Ü¤è«K¡A¦Ó¥B¯à³B²z³\¦h¤H¾÷¬É­±ªº°ÝÃD¡A¦¹¥~¤£¶·¼¶¼g°T®§°j°é¡B«Ø¥ßµøµ¡Ãþ§Oµ¥µ{¦¡½X¡A¬J¤è«K¤S²¼ä¡A¤p¤ì°¸«Ü³ßÅw³oÃþµ{¦¡¡C©³¤U¤¶²Ð¼¶¼g³oºØµ{¦¡ªº¹Lµ{¡C

¹ï¸Ü²°­±ªO ( Dialog Template )

»P WIN32 ¨t²Î¤@¼Ë¡A­n¥ý«Ø¥ß¸ê·½´y­zÀÉ ( °ÆÀɦW¬° *.RC )¡A¸ê·½´y­zÀɬO¤@ºØ¯Â¤å¦rÀÉ¡AÀ³¥H ASCII ½s½X¤è¦¡Àx¦s¡CµM«á¦b¸ê·½´y­zÀÉùØ­±¡A¥[¤W¤@­ÓºÙ¬°¹ï¸Ü²°­±ªO ( dialog template ) ªº¬q¸¨¡C¹ï¸Ü²°­±ªOùØ­±±Ô­z¤F¹ï¸Ü²°­·®æ¡B¦r§Îµ¥ÄÝ©Ê¡AÁÙ¦³¦UºØ±±¨î¶µ¡C©³¤U´N¬O±`¨£ªº¹ï¸Ü­±ªOªº¼Ò¼Ë¡G

1
2
3
4
5
6
7
8
9
10
11
12
13
14
name    DIALOG  x, y, width, height
CAPTION         caption_text
CHARACTERISTICS dword
CLASS           class_name
EXSTYLE         extended-styles
FONT            pointsize, typeface
LANGUAGE        language, sublanguage
MENU            menuname
STYLE           sytle
VERSION         dword
BEGIN
 CONTROL   "text", ID, class_name, style, x, y, width, height, exStyle
 ¡K¡K
END

¤W­±ªº¹ï¸Ü²°­±ªO¡A±q²Ä 2¡ã10 ¦æ¡A³£¬O¥i¦³¥iµLªº¿ï¶µ¡A¦pªG¨S³]©w¡A´N·|¨Ì¾Ú¤º©w­È¡C²Ä 11 ©M²Ä 14 ¦æ¡A¬O¤@¹ï BEGIN/END¡A¤]¥i¥H¥Î¤@¹ï {¡B} ¥N´À¡A¦b BEGIN/END ©Î {¡B} ¤º¥]§t¤F¦UºØ±±¨î¶µ¡A¨C¤@±ø CONTROL ¥Nªí¤@­Ó±±¨î¶µ¡C©³¤U¥ý»¡©ú¥i¦³¥iµLªº¿ï¶µ¡C

  1. ²Ä¤@¦æªº DIALOG ¬O¸ê·½´y­zÀɪºÃöÁä¦r¡Aªí¥Ü±q³o¨à¶}©lªº°Ï¶ô¡A¬O´y­z¹ï¸Ü²°­±ªOªº°Ï¶ô¤F¡Cname ¬O¹ï¸Ü²°¦WºÙ¡A¥i¥H¬O¦r¦ê©Î¬O¥¿¾ã¼Æ ( ¦¹¥¿¾ã¼ÆºÙ¬°¹ï¸Ü²°ÃѧO½X )¡C¤£ºÞ¬O¦r¦ê©Î¥¿¾ã¼Æ¡A³£¥²¶·»P­ì©l½X¤º¡A©I¥s«Ø¥ß¹ï¸Ü²°ªº DialogBoxParam API ®É¡A©Ò¥Îªº²Ä¤G­Ó°Ñ¼Æ©Ò«ü¦r¦ê©ÎÃѧO½X¬Û¦P¡C³o¼Ë¨t²Î¤~¯à¥¿½T¦aª¾¹D­n¦p¦ó«Ø¥ß¹ï¸Ü²°¡A¤]¤~¯àª¾¹D¹ï¸Ü²°¤º¦³¨º¨Ç±±¨î¶µ¡Cx¡By ¬O«Ø¥ßªº¹ï¸Ü²°¥ª¤W¨¤¦b¿Ã¹õªº¦ì¸m¡Awidth¡Bheight «h¬O¹ï¸Ü²°ªº¼e»P°ª¡Ax¡By¡Bwidth¡Bheight ªº³æ¦ì¤£¬O¿Ã¹õ¤WªºÂI ( ¤@¯ë¤@­ÓÂIºÙ¬°¤@­Ó¹Ï¯À )¡A¦Ó¬OÅÞ¿è³æ¦ì¡C
  2. ¡uCAPTION caption_text¡v¬O¥Î¨Óªí¥Ü¹ï¸Ü²°¼ÐÃDÄ檺¦r¦ê¡Acaption_text ¤]­n¥Î¨â­Ó¡u"¡v¬A°_¨Ó¡C¨Ò¦p¡G
    CAPTION "³Ì¤j¤½¦]¼Æ»P³Ì¤p¤½­¿¼Æ"
  3. ²Ä¤T¦æªº CHARACTERISTICS ¬Oµ{¦¡³]­p®v¦Û¦æ©w¸qªºÂù¦r²Õ¡A¨Ñ¸ê·½½sĶ¾¹¡A¥ç§Y RC.EXE¡A¨Ï¥Î¡A§@·~¨t²Î¤£¥Î³o­Ó¼Æ­È¡C
  4. ¡uCLASS class_name¡v¬O³]©w¹ï¸Ü²°ªºÃþ§O¡Aclass_name ¥i¥H¬O¥¿¾ã¼ÆÃѧO½X©Î¬O¦r¦ê¡A¦pªG¬O¦r¦ê­n¥Î¨â­Ó¡u"¡v¬A°_¨Ó¡C¦pªG¨S¦³«ü©w CLASS¡A¨º»ò§@·~¨t²Î·|¨Ï¥Î¹ï¸Ü²°¼Ð·ÇÃþ§O¡C
  5. ¡uEXSTYLE extended-styles¡v¬O³]©w¹ï¸Ü²°ªº©µ¦ù­·®æ¡A¥i¥H¨Ï¥Îªº©µ¦ù­·®æ»P CreateWindowEx ªº²Ä¤@­Ó°Ñ¼Æ¬Û¦P¡A±`¨£ªº©µ¦ù­·®æ½Ð¨ìµù¤T¬d¾\¡C
  6. FONT ¬O¥Î¨Ó«ü©w¹ï¸Ü²°ªº¦r§Î¡Apointsize ¬O¦r§Î¤j¤p¡Ftypeface ¬O¦r§Î¦WºÙ¡A¥i¥Î¨â­Ó¡u"¡v¬A°_¨Ó¡C¨Ò¦p¤U­±ªº¨Ò¤l¡G
    FONT    8,"Times New Roman"
  7. ¡uLANGUAGE language, sublanguage¡v«ü©w¹ï©Ò¥Îªº»y¨¥¡A¡ulanguage¡v»P¡usublanguage¡v¤À§O¬O«ü»y¨¥©M¦a°Ï¡A¨Ò¦pÁ¿­^¤åªº¦a°Ï¤£¥u­^°ê¡B¬ü°ê¡AÁÙ¦³¥[®³¤jµ¥°ê®a¡C¦pªG¬O¬ü°êªº­^»y¡A¡ulanguage¡v¬°¡uLANG_ENGLISH¡v¡A¡usublanguage¡v¬°¡uSUBLANG_ENGLISH_US¡v¡F¦pªG¬O¥[®³¤jªº­^»y¡A¡ulanguage¡vÁÙ¬O¬°¡uLANG_ENGLISH¡v¡A¦ý¡usublanguage¡vÅܬ°¡uSUBLANG_ENGLISH_CAN¡v¡C±`¥Îªº»y¨¥½Ð«öµù¤@¬d¾\¡C
  8. MENU menuname ¬O«ü©w©Ò¨Ï¥Îªº¿ï³æ¡A¥i¥H¬O¥¿¾ã¼ÆÃѧO½X©Î¬O¦r¦ê¡A¦ý»P­ì©l½Xªº¿ï³æÃѧO½X©Î¿ï³æ¦WºÙ¬Û¦P¡C
  9. STYLE ¬O¥Î¨Óªí¥Ü¹ï¸Ü²°ªº­·®æ¡A³o¨Ç­·®æ¨ä¹ê¬O³\¦h¦ì¤¸²Õ¦X¦Ó¦¨¡C¥¦­Ì¤]¥i¥H¬Oµøµ¡­·®æ¡A¨Ò¦p WS_POPUP¡BWS_SYSMENUµ¥¡F¤]¥i¥H¬O¹ï¸Ü²°­·®æ¡A¨Ò¦p DS_MODALFRAME¡C¤@¯ë¦Ó¨¥¡A¼u¥Xªº¹ï¸Ü²°¡A¦pªG­n¦³¼ÐÃDÄæ¡B¨t²Î¿ï³æ¡A¨º»ò´N·|¥]§t WS_POPUP¡BWS_SYSMENU ©M WS_CAPTION¡C¦pªG¼Ò¦¡¹ï¸Ü²°­n¦³Ãä®Ø¡A¨º´N­n³]©w DS_MODALFRAME¡F«D¼Ò¦¡¹ï¸Ü²°«h³]©w WS_BORDER¡C¦pªG«D¼Ò¦¡¹ï¸Ü²°³]©w¤F WS_VISIBLE¡A¨º»ò«Ø¥ß¦n¹ï¸Ü²°¤§«á¡A´N·|¥ß¨èÅã¥Ü¡A¤£µM­n©I¥s ShowWindow API¡F¼Ò¦¡¹ï¸Ü²°«h¬O¤£ºÞ¦³¨S¦³³]©w WS_VISIBLE¡A³£·|¥ß§YÅã¥Ü¡C±`¥Îªº­·®æ½Ð¨ìµù¤G¬d¾\¡C
  10. VERSION ±Ô­z¬O¥Î¨Ó´y­z¹ï¸Ü²°ª©¥»¡A¬O¨Ï¥ÎªÌ¦Û¦æ©w¸qªºÂù¦r²Õ¡A¤£Àx¦s©ó¥i°õ¦æÀÉùØ¡A¨t²Î¥Î¤£µÛ³o­Ó±Ô­z¡C
  11. ²Ä 11 ¨ì 14 ¦æ¬O¤@¹ï BEGIN/END ¥]§tµÛ³\¦h±±¨î¶µ¡ABEGIN/END ¤]¥i¥H¥Î¤@¹ï¤j¬A¸¹¡u{¡v¡B¡u}¡v¥N´À¡C³o¨Ç±±¨î¶µ±N·|Åã¥Ü¦b¹ï¸Ü²°ùØ¡A§@¬°»P¨Ï¥ÎªÌ·¾³qªº¤¶­±¡C

±±¨î¶µ

¼Ò¦¡¹ï¸Ü²°ªºÆ[©À©M¦b Win32 ¨t²Î¤@¼Ë¡A¥¦¬O¤@­Ó¥]§tµÛ³\¦h¤lµøµ¡ªºµøµ¡¡C³o¨Ç¤lµøµ¡ ( child window ) ¤]¥s±±¨î¤¸¥ó ( ­^¤åºÙ control¡A©Î²ºÙ¡u±±¥ó¡v©Î¡u±±¨î¶µ¡v)¡C¦p¦P¤W­±Á¿¹L¡A³o¨Ç±±¨î¶µ¥]§t¦b¹ï¸Ü²°­±ªOªº BEGIN/END ±Ô­zùØ¡C©w¸q±±¨î¶µ¦³¨âºØ¤èªk¡A²Ä¤@ºØ¬O

CONTROL  "text", ID, class_name, style, x, y, width, height, exStyle

"text" ¬O±±¨î¶µªº¹w©w¤å¦r¡AID ¬OÃѧO¸¹½X¡Ax¡By ¬O¤lµøµ¡ªº¦ì¸m¡Awidth¡Bheight ¬O¤lµøµ¡ªº¼e»P°ª¡Astyle ¬O¤lµøµ¡­·®æ¡Cclass_name ¬O¦b¨t²Î¤¤¤w¹w¥ý©w¸qªºµøµ¡Ãþ§O¡A¥i¥H¥Î STATIC ªí¥ÜÀRºAÃþ§O¡ABUTTON ªí¥Ü«ö¶sÃþ§O¡AEDIT ªí¥Ü½s¿è®ØÃþ§O¡ACOMBOBOX ªí¥Ü½Æ¦XÃþ§O¡ALISTBOX ªí¥Ü¦Cªí²°Ãþ§O¡ASCROLLBAR ªí¥Ü±²¶bÃþ§Oµ¥¤»ºØ¡C

¤£¦PÃþ§Oªº±±¨î¶µ¥i¥Îªº­·®æ¤£ºÉ¬Û¦P¡A¨Ò¦p½s¿è®Ø±±¨î¶µ»P«ö¶s±±¨î¶µ¬Ý°_¨Ó¬OºIµM¤£¦Pªº¨âºØªº±±¨î¶µ¡AµM«h¥¦­Ì³£¬O¤lµøµ¡¡A²£¥Í¤èªk¬Û¦P¦ý¨ã¦³¤£¦Pªº­·®æ¡A¦Ó¬Oµ¡Ãþ§OºØÃþ¦Ü¤Ö¦³³o¤»ºØ¡A©Ò¨Ï¥Î­·®æ§ó¦h¡A©Ò¥H­nÁA¸Ñ¥¦­Ì¤£¨Æ¥ó©ö¨Æ¡C¦³®É§Y¨Ï¬O¦P¤@Ãþ§Oªºµøµ¡¡A¨ä¥~Æ[»P¨Ï¥Î¤è¦¡¥ç¬Û¥h¬Æ»·¡A¨Ò¦p BUTTON Ãþ§O¤¤¦³ÀËÅç²°¡B¤UÀ£¦¡«ö¶s¡B¶ê§Î«ö¶sµ¥¼ÆºØ±±¨î¶µ¡C¹³³o¼Ë¨ã¦³¬Û¦Pªºµøµ¡Ãþ§O¡A«o¦]­·®æ¤£¦P¦Ó¥~Æ[»P¨Ï¥Î¤è¦¡¤]¤£¦P¡A¶È¥H­·®æ¨Ó°Ï§O¡A¨Ã¤£¬O¤@¥Ø¤FµMªº°µªk¡C¤U­±ªº¨Ò¤l¤¤¡A²Ä¤@­Óªí¥Ü¤UÀ£¦¡«ö¶s±±¨î¶µ¡A²Ä¤G­Ó¬OÀËÅç²°±±¨î¶µ¡G

CONTROL  "½T©w"    ,1,"BUTTON",BS_PUSHBUTTON,100, 20, 50, 14
CONTROL  "¦V¥k¹ï»ô",2,"BUTTON",BS_CHECKBOX  , 10, 10, 50, 14

¦ý¬O¦pªG¤£¸Ô²ÓÀˬd¨ä«áªº­·®æ¡A«Ü¤£®e©ö§PÂ_¡A¦³®É­·®æ¬O¤S¯ä¤Sªø¡A¨º»ò§PŪ§ó¬°§xÃø¡C©Ò¥H RC.EXE ¤]¤¹³\²Ä¤GºØªí¥Ü±±¥ó¶µªº¤è¦¡¡G

control-type  "text", ID, x, y, width, height [,styles]

³o®É control-type ´N¯àªí¥Ü¥X¦UºØ±±¨î¶µ»P³¡¤À­·®æ¤F¡A¨Ò¦p¤U­±¥kÃä¬O¥H¶Ç²Î¤è¦¡ªí¹F¤UÀ£¦¡«ö¶s»PÀËÅç²°ªº¤è¦¡¡A¦Ó¥kÃä«h¬O¥H¸û¬°Â²¼äªº¤è¦¡ªí¹F¡A¨Æ¹ê¤W¡A¨âªÌ¬O¬Û¦Pªº¡C

PUSHBUTTON  "½T©w"    ,1,100, 20, 50, 14
CHECKBOX    "¦V¥k¹ï»ô",2, 10, 10, 50, 14
CONTROL  "½T©w"    ,1,"BUTTON",BS_PUSHBUTTON,100, 20, 50, 14
CONTROL  "¦V¥k¹ï»ô",2,"BUTTON",BS_CHECKBOX  , 10, 10, 50, 14

¥H²¼ä¤è¦¡´y­z±±¨î¶µªº¤è¦¡¡A¥i¥H«öµù¥|¾\Ū¡C

¼Ò¦¡¹ï¸Ü²°

©³¤U§ó¶i¤@¨B»¡©ú CLASS ¦b«Ø¥ß¼Ò¦¡»P«D¼Ò¦¡¹ï¸Ü²°ªº¨¤¦â¡G

©³¤U¥H¤@­Ó¨Ò¤l¡A¨D³Ì¤j¤½¦]¼Æ¡A¨Ó»¡©ú¡u¥H¹ï¸Ü²°¬°¥D¡vªºµ{¦¡¼¶¼g¹Lµ{¡C


¨D³Ì¤p¤½¦]¼Æ

±µ¤U¨Ó¼g¤@­Ó½d¨Ò¡A³o­Óµ{¦¡¯àÅý¨Ï¥ÎªÌ¿é¤J¨â­Ó¥¿¾ã¼Æ¡AµM«á­pºâ³o¨â­Ó¥¿¾ã¼Æªº³Ì¤j¤½¦]¼Æ»P³Ì¤p¤½­¿¼Æ¡C°õ¦æµe­±¦p¤U¹Ï¡G

­ì²z

¦b¼Æ¾Ç¤W¡A­n­pºâ¨â¥¿¾ã¼Æªº³Ì¤j¤½¦]¼Æ¡A¥i¥H¥ÎÁÓÂà¬Û°£ªk¡C¨BÆJ¬O¥ý¬D¿ï¸û¤jªº¼Æ¬°³Q°£¼Æ¡A¸û¤pªº¼Æ¬°°£¼Æ¡A¬Û°£¤§«áªº¾l¼Æ¬°°£¼Æ¡A­ì¨Óªº°£¼ÆÅܬ°³Q°£¼Æ¡A¦A¬Û°£¡C¦p¦¹¤@ª½­«½Æ¤W­z¨BÆJ¡Aª½¨ì¾l¼Æ¬°¹s®É¡A¸Ó¦¸°£¼Æ¬°³Ì¤j¤½¦]¼Æ¡A¥i¥H°Ñ¦Ò¤U­±ªº¬yµ{¹Ï¡C¹Ï¤¤¡A¬°°t¦X²Õ¦X»y¨¥°£ªk¡A¬G¥H¼È¦s¾¹ªí¥Ü¡C¦b²Õ¦X»y¨¥ùØ¡A°£ªk¤¤ªº³Q°£¼Æ§¡©ñ¦b RDX:RAX ¼È¦s¾¹ùØ¡A°£¼Æ¥i¥Î¥ô¦ó¤@­Ó 64 ¦ì¤¸¼È¦s¾¹¡A©Î 64 ¦ì¤¸ªºÅܼƪí¥Ü¡C¦Ó¦b¨C¦¸¬Û°£¤§«e¡A­n§â RDX ³]¬° 0¡A¥H§K¼vÅTµ²ªG¡C

­ì©l½X

©³¤U¬O GCD64.ASM ªº¤º®e¡G

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
        OPTION  CASEMAP:NONE
        OPTION  WIN64:3

UNICODE         EQU     1       ;¨Ï¥Î¸U°ê½X
IDC_NUM1        EQU     20000
IDC_NUM2        EQU     20001
IDC_GCD         EQU     20003
IDC_LCM         EQU     20004
IDC_CALC        EQU     20005
IDC_EXIT        EQU     20006

INCLUDE         WINDOWS.INC
INCLUDE         COMMCTRL.INC
INCLUDELIB      KERNEL32.LIB
INCLUDELIB      USER32.LIB
INCLUDELIB      COMCTL32.LIB

;*************************************************************************************************************
.CONST
szDlgName       DW      47h,43h,44h,0h                                                  ;¹ï¸Ü²°­±ªO¦WºÙ¡×GCD
szIcon          DW      47h,43h,44h,5fh,4ch,43h,4dh,0h                                  ;¹Ï¥Ü¦WºÙ¡×GCD_LCM
szGCD           DW      6700h,5927h,516ch,56e0h,6578h,70bah,0ff1ah,25h,75h,0h           ;³Ì¤j¤½¦]¼Æ¬°¡G%u
szLCM           DW      6700h,5c0fh,516ch,500dh,6578h,70bah,0ff1ah,25h,75h,0h           ;³Ì¤p¤½­¿¼Æ¬°¡G%u
;*************************************************************************************************************
.DATA
hInstance       DQ      ?       ;°õ¦æ¹ê¨Ò¥N½X
nNum1           DQ      ?
nNum2           DQ      ?
nGCD            DQ      ?       ;GCD
nLCM            DQ      ?       ;LCM
Translated      DQ      ?       ;©I¥sGetDlgItemIntªð¦^«á¡A¬O§_¿ù»~
szAnswer        DB      100 DUP (?)
;*************************************************************************************************************
.CODE
;-------------------------------------------------------------------------------------------------------------
;¨DRAX¡BR10¨â¼È¦s¾¹¤ºªº³Ì¤j¤½¦]¼Æ
find_gcd_lcm    PROC
                mov     rax,nNum1
                mov     r10,nNum2
;¥ý¨D³Ì¤j¤½¦]¼Æ¡A¥ÎÁÓÂà¬Û°£ªk¡C¥ý¤ñ¸ûRAX¡BR10¦óªÌ¬°¤j¡A¤jªº·í³Q°£¼Æ¡A¦s©óEAXùØ¡F¤pªº·í°£¼Æ¡A¦s©ónGCDùØ¡C
;¨âªÌ¬Û°£¡A¦pªG¾l¼Æ¤£¬°¹s¡A«h­ì°£¼ÆÅܬ°³Q°£¼Æ¡A¾l¼ÆÅܬ°°£¼Æ¡A¦A­«½Æ¬Û°£¡Aª½¨ì¾l¼Æ¬°¹s®É¡A³Ì¤j¤½¦]¼Æ§Y¬°°£¼Æ¡C
    .IF rax<r10
                mov     nGCD,rax
                mov     rax,r10
    .ELSE
                mov     nGCD,r10
    .ENDIF
next_loop:      sub     rdx,rdx
                div     nGCD
    .IF edx!=0
                mov     rax,nGCD
                mov     nGCD,rdx
                jmp     next_loop
    .ENDIF
                sub     rdx,rdx
                mov     r11,nGCD
                mov     rax,nNum1
                div     r11
                mul     nNum2
                mov     nLCM,rax
                ret
find_gcd_lcm    ENDP
;-------------------------------------------------------------------------------------------------------------
DlgProc         PROC    hDlg:QWORD,uMsg:DWORD,wParam:QWORD,lParam:QWORD
.IF rdx==WM_INITDIALOG
                INVOKE  LoadIcon,hInstance,OFFSET szIcon
                INVOKE  SendMessage,hDlg,WM_SETICON,ICON_SMALL,rax

.ELSEIF rdx==WM_COMMAND
                mov     r10,r8
                mov     r11,r8
                shr     r10,20h         ;R10D=³qª¾½X
                and     r11,0ffffffffh  ;R11D=±±¨î¤¸¥óÃѧO½X
   .IF r10d==BN_CLICKED
       .IF r11d==IDC_EXIT
                jmp     exit
       .ELSEIF r11d==IDC_CALC
                INVOKE  GetDlgItemInt,hDlg,IDC_NUM1,OFFSET Translated,0
                mov     nNum1,rax
                INVOKE  GetDlgItemInt,hDlg,IDC_NUM2,OFFSET Translated,0
                mov     nNum2,rax
                call    find_gcd_lcm
                INVOKE  wsprintf,OFFSET szAnswer,OFFSET szGCD,nGCD
                INVOKE  SetDlgItemText,hDlg,IDC_GCD,OFFSET szAnswer
                INVOKE  wsprintf,OFFSET szAnswer,OFFSET szLCM,nLCM
                INVOKE  SetDlgItemText,hDlg,IDC_LCM,OFFSET szAnswer
       .ENDIF
   .ENDIF

.ELSEIF rdx==WM_CLOSE
exit:           INVOKE  EndDialog,hDlg,0

.ELSE           ;¨ä¥L¥¼³B²zªº°T®§ªð¦^ FALSE
                mov     rax,0
                ret
.ENDIF          ;¤w³B²zªº°T®§¡Aªð¦^ TRUE

                mov     rax,1
                ret
DlgProc         ENDP
;-------------------------------------------------------------------------------------------------------------
main            PROC
                INVOKE  GetModuleHandle,0
                mov     hInstance,rax
                INVOKE  DialogBoxParam,hInstance,OFFSET szDlgName,0,OFFSET DlgProc,0
                INVOKE  ExitProcess,eax
                INVOKE  InitCommonControls
main            ENDP
;*************************************************************************************************************
END             main

©³¤U¬O GCD64.RC ªº¤º®e¡G

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "c:\masm32\include\resource.h"

#define  RT_MANIFEST     24

#define IDC_NUM1        20000
#define IDC_NUM2        20001
#define IDC_GCD         20003
#define IDC_LCM         20004
#define IDC_CALC        20005
#define IDC_EXIT        20006

GCD  DIALOG  800,300,122,90
STYLE   DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|DS_CENTERMOUSE|DS_CONTEXTHELP
FONT    8,"Times New Roman"
CAPTION "³Ì¤j¤½¦]¼Æ»P³Ì¤p¤½­¿¼Æ"
BEGIN
 CONTROL        "¿é¤J²Ä¤@­Ó¥¿¾ã¼Æ¡G",         -1,"static",SS_LEFT|WS_CHILD|WS_VISIBLE|WS_GROUP, 6, 6, 75, 14
 CONTROL        "¿é¤J²Ä¤G­Ó¥¿¾ã¼Æ¡G",         -1,"static",SS_LEFT|WS_CHILD|WS_VISIBLE|WS_GROUP, 6,20, 75, 14
 EDITTEXT       IDC_NUM1,80, 4, 38, 12, WS_TABSTOP|ES_NUMBER|ES_RIGHT|ES_AUTOHSCROLL
 EDITTEXT       IDC_NUM2,80,19, 38, 12, WS_TABSTOP|ES_NUMBER|ES_RIGHT|ES_AUTOHSCROLL
 CONTROL        "³Ì¤j¤½¦]¼Æ¬°¡G",IDC_GCD,"static",SS_LEFT|WS_CHILD|WS_VISIBLE|WS_GROUP, 6,34,100, 14
 CONTROL        "³Ì¤p¤½­¿¼Æ¬°¡G",IDC_LCM,"static",SS_LEFT|WS_CHILD|WS_VISIBLE|WS_GROUP, 6,48,100, 14
 DEFPUSHBUTTON  "­pºâ"          ,IDC_CALC,10,65, 50,18
 PUSHBUTTON     "Â÷¶}"          ,IDC_EXIT,63,65, 50,18
END

1       RT_MANIFEST MOVEABLE PURE "GCD64.EXE.MANIFEST"

GCD_LCM ICON    GCD_LCM.ico

¶i¤J¡u©R¥O´£¥Ü¦r¤¸¡v«á¡A¥ý°õ¦æ«e¤@³¹ªº JWASM.BAT¡A³o­Óµ{¦¡¬O¥Î¨Ó³]©w²ÕĶÀô¹Ò¡A¸Ô²Ó±¡§Î°Ñ¾\«e¤@³¹¡C±µ¤U¨Ó¡A¤Á´«¨ì­ì©lµ{¦¡©Ò¦bªººÏºÐ¾÷»P¤l¥Ø¿ýùØ¡AµM«á¤~½sĶ¸ê·½´y­zÀÉ¡B²ÕĶ²Õ¦X»y¨¥­ì©lµ{¦¡¡B³sµ²¡C½Ð¬Ý¤U­±ªº¨BÆJ¡G

C:\Users\wanker>jwasm [Enter]

C:\Users\wanker>SET INCLUDE=C:\JWASM\INCLUDE;

C:\Users\wanker>SET LIB=C:\JWASM\LIB;

C:\Users\wanker>SET PATH=C:\JWASM;C:\ProgramData\Oracle\Java\javapath;C:\Windows
\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerSh
ell\v1.0\

C:\Users\wanker>SET LINK=/SUBSYSTEM:WINDOWS /DEBUG

C:\Users\wanker>E: [Enter]   ¡÷¤Á´«¨ì­ì©lµ{¦¡©Ò¦bªººÏºÐ¾÷ùØ

E:\>cd E:\HomePage\SOURCE\WIN64\GCD_LCM [Enter]   ¡÷¤Á´«¨ì­ì©lµ{¦¡©Ò¦bªº¤l¥Ø¿ýùØ

E:\HomePage\SOURCE\Win64\GCD_LCM>rc gcd64.rc [Enter]
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.


E:\HomePage\SOURCE\Win64\GCD_LCM>jwasm -win64 gcd64.asm [Enter]
JWasm v2.12pre, Nov 27 2013, Masm-compatible assembler.
Portions Copyright (c) 1992-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.

GCD64.ASM: 109 lines, 2 passes, 842 ms, 0 warnings, 0 errors

E:\HomePage\SOURCE\Win64\GCD_LCM>link gcd64.obj gcd64.res [Enter]
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation.  All rights reserved.

/SUBSYSTEM:WINDOWS /DEBUG

E:\HomePage\SOURCE\Win64\GCD_LCM>

³o¤@³¹¥u¼g¥X¦p¦ó¥Î Win64 ²Õ¦X»y¨¥»s§@¼Ò¦¡¹ï¸Ü²°¬°°ò¦ªºµøµ¡µ{¦¡¡A±z±o­n¦³ Win32 ªº°ò¦¤~¦æ¡A½Ð°Ñ¾\Win32 ²Õ¦X»y¨¥ªº¹ï¸Ü²°»P¸ê·½ÀÉ¡C


µù¤@¡G±`¨£ªº»y¨¥

»y¤åLanguage ¤Î¼Æ­ÈSublanguage Sublanguage
¤§¼Æ­È
»¡¡@¡@©ú
¤¤¤åLANG_CHINESE
04h
SUBLANG_CHINESE_TRADITIONAL01h¤¤µØ¥Á°ê¨Ï¥Î¥¿Å餤¤å
SUBLANG_CHINESE_SIMPLIFIED02h¤j³°¤W¨Ï¥Î²Å餤¤å
SUBLANG_CHINESE_HONGKONG03h­»´ä¨Ï¥Îªº¥¿Å餤¤å
SUBLANG_CHINESE_SINGAPORE04h·s¥[©Y¨Ï¥Îªº¥¿Å餤¤å
SUBLANG_CHINESE_MACAU05h¿Dªù¨Ï¥Îªº¥¿Å餤¤å
­^¤åLANG_ENGLISH
09h
SUBLANG_ENGLISH_US01h¬ü°ê¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_UK02h­^°ê¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_AUS03h¿D¬w¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_CAN04h¥[®³¤j¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_NZ05h¯Ã¦èÄõ¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_IRELAND06h·Rº¸Äõ¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_SOUTH_AFRICA07h«n«D¦@©M°ê¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_JAMAICA08h¤ú¶R¥[¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_CARIBBEAN09h¥[°Ç¤ñ¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_BELIZE0ah¨©¨½´µ¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_TRINIDAD0bh¤d¨½¹F¤Î¦«¤Ú­ô¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_ZIMBABWE0ch¨¯¤Ú«Â¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_PHILIPPINES0dhµá«ß»«¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_INDIA10h¦L«×¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_MALAYSIA11h°¨¨Ó¦è¨È¨Ï¥Îªº­^¤å
SUBLANG_ENGLISH_SINGAPORE12h·s¥[©Y¨Ï¥Îªº­^¤å
¥_¦L«×»yLANG_HINDI
39h
SUBLANG_HINDI_INDIA01h¦L«×¨Ï¥Îªº»y¨¥

language »P sublanguage ¦X°_¨Ó²Õ¦¨¤@­Ó¦r²Õ ( 16 ¦ì¤¸ªø ) ºÙ¬°»y¨¥ÃѧO½X ( language identifier )¡C³o­Ó¦r²Õªº 0¡ã9 ¦ì¤¸¥Nªí language¡A²Ä 10¡ã15 ¦ì¤¸¥Nªí sublanguage¡C¨Ò¦p¬d¾\¤Wªí¡A¥iª¾¤¤µØ¥Á°ê¥xÆW¦a°Ï¨Ï¥Îªº¥¿Å餤¤å¤§¡usublanguage¡v¬° 01h¡A¦Ó¡ulanguage¡v¬° 04h¡A¨Ì¾Ú¡ulanguage¡v¬° 0¡ã9 ¦ì¤¸¡B¡usublanguage¡v¬°²Ä 10¡ã15 ¦ì¤¸¦X¨Ö«á¡A»y¨¥ÃѧO½X´N¬O 0404h¡A²Õ¦¨¤è¦¡°Ñ¨£¤U¹Ï¡G

µù¤G¡G±`¨£ªº­·®æ

­·®æ¼Æ­È»¡¡@¡@©ú
DS_3DLOOK4h¤£¥Î²ÊÅé¦r¡A¦P®É¥H¤Tºû¤è¦¡µe¥X¹ï¸Ü²°¤ºªº±±¨î¶µ¥|©PªºÃä®Ø¡C
DS_ABSALIGN1h¹ï¸Ü²°ªº®y¼Ð¨Ï¥Î¿Ã¹õ®y¼Ð¡A¦Ó¤£¬O¹ï¸Ü²°¤u§@°Ïªº®y¼Ð¡C
DS_CENTER800h§â¹ï¸Ü²°©ñ¸m¦b®à­±ªº¤¤¥¡¡A©Ò¿×ªº¤¤¥¡¬O¤£§t©³¤Uªº¤u§@¦C¡C§Y¨Ï¦b¡uname DIALOG x, y, cx, cy¡v«ü©w¤F x¡By¡A¦Ó¤S¦P®É¨ã¦³ DS_CENTER ­·®æ¡A¨t²Î¤´·|§â¹ï¸Ü²°©ñ¦b¤¤¥¡¡C
DS_CENTERMOUSE1000h¦b·Æ¹«´å¼Ð¦ì¸m¤WÅã¥Ü¹ï¸Ü²°¡C
DS_CONTEXTHELP2000h¦b¼ÐÃDÄæ¥kÃäÅã¥Ü¡u»¡©ú«ö¶s¡v¡C·í¨Ï¥ÎªÌ«ö¤U¡u»¡©ú«ö¶s¡v«á¡A¹C¼Ð·|Åܦ¨¡AµM«á¨Ï¥ÎªÌ¦b¬Y­Ó±±¨î¶µ«ö¤U·Æ¹«¥ªÁä«á¡A¨t²Î·|§â WM_HELP ¶Çµ¹±±¨î¶µªºµøµ¡¨ç¦¡¡C¤@¯ë¦Ó¨¥¡A±±¨î¶µ¤£³B²z¡A¦Ó¶Çµ¹¹ï¸Ü²°ªºµøµ¡¨ç¦¡¡AµM«á¦b¹ï¸Ü²°ªºµøµ¡¨ç¦¡¤¤¥H HELP_WM_HELP ¬°°Ñ¼Æ¡A©I¥s WinHelp API¡AÅã¥Ü»¡©ú¤º®e¡C
DS_CONTROL400h¨ã¦³¦¹­·®æªº¹ï¸Ü²°ªº¦æ¬°¡A¹³¬O¥t¤@­Ó¹ï¸Ü²°ªº¤lµøµ¡¡A¯àÅý¨Ï¥ÎªÌ¥H Tab Áä©Î§Ö±¶Áä¾Þ§@¹ï¸Ü²°ªº±±¨î¶µ¡C
DS_FIXEDSYS8h¥Î SYSTEM_FIXED_FONT ¥N´À¤º©wªº SYSTEM_FONT¡A¥ç§Y¨Ï¥Î©T©w¼e«×ªº¦r§Î§@¬°¹ï¸Ü²°¦r§Î¡C
DS_LOCALEDIT20h¥u¯à¥Î©ó 16 ¦ì¤¸µ{¦¡¡A¥i¨Ï¹ï¸Ü²°½s¿è®Øªº¸ê®Æ¦bµ{¦¡ªº¸ê®Æ°Ï¬q¤º¡C
DS_MODALFRAME80h«Ø¥ß¼Ò¦¡¹ï¸Ü²°¥~®Ø¡A±`»P WS_CAPTION¡BWS_SYSMENU ¦X¥Î¡A¤À§OÅã¥Ü¼ÐÃDÄæ»P¨t²Î¿ï³æ¡C
DS_NOFAILCREATE10h§Y¨Ï¿ù»~µo¥Í¡A¤]«Ø¥ß¹ï¸Ü²°¡C¨Ò¦p¹ï¸Ü²°¤ºªº±±¨î¶µµLªk«Ø¥ß¡A©Î½s¿è®ØµLªk°t¸m°O¾ÐÅé¡A¨t²Î¤´«Ø¥ß¹ï¸Ü²°¡C
DS_NOIDLEMSG100h·í¹ï¸Ü²°¸T¤î¹ï¸Ü²°¦¬¨ì WM_ENTERIDLE °T®§¡C
DS_SETFONT40hµ{¦¡¯à§â WM_SETFONT °T®§¶Ç°eµ¹¹ï¸Ü²°¤ºªº±±¨î¶µ¡AÅܧ󱱨ªº¦r§Î¡C¦ý¬O¦pªG¹ï¸Ü²°¨ã¦³ DS_SETFONT ­·®æªº¸Ü¡A¹ï¸Ü²°ªºµøµ¡¨ç¦¡¤]¯à¦¬¨ì WM_SETFONT °T®§¡A¨Ï¹ï¸Ü²°¯à¦³¾÷·|§ïÅܱ±¨î¶µªº¤j¤p¡A¥HÅã¥Ü©Ò¦³¤å¦r¡C
DS_SETFOREGROUND200h«Ø¥ß¨ã¦³¦¹­·®æªº¹ï¸Ü²°®É¡A¨t²Î·|©I¥s SetForegroundWindow¡A¦Ó¨Ï¹ï¸Ü²°Åã¥Ü¦b¿Ã¹õ³Ì¤W¼h¡A¦b»Ý­nÅý¨Ï¥ÎªÌ±oª¾­«­n°T®§®É¡A¯S§O¦³¥Î¡C
DS_SHELLFONT48h¬Û·í©ó DS_SETFONT | DS_FIXEDSYS¡A«ü¥Ü¹ï¸Ü²°¨Ï¥Î¨t²Î¦r§Î¡C
DS_SYSMODAL2h¦¹­·®æ¥u¦b 16 ¦ì¤¸ªº¨t²Î¨Ï¥Î¡A²{¤w¼o¤î¡C¦¹­·®æ¬Û·í©ó WS_EX_TOPMOST ©µ¦ù­·®æ¡C

µù¤T¡G±`¨£ªº©µ¦ù­·®æ

­·®æ¼Æ­È»¡¡@¡@©ú
WS_EX_ACCEPTFILES10h¨Ïµøµ¡¯à±µ¦¬·Æ¹«©ì©ñªºÀɮסC
WS_EX_APPWINDOW40000h ·íµøµ¡¥i¥H¦b¿Ã¹õ¤WÅã²{®É¡A¯à±j¨î¨Ïµøµ¡À£¦b¤u§@¦C¤W¡C
WS_EX_CLIENTEDGE200h ¨Ïµøµ¡¨ã¦³¥W³´ªºÃä®Ø¡A¦n¹³¦b¤TºûªÅ¶¡¤@¼Ë¡C
WS_EX_COMPOSITED2000000h ¨t²Îø»s¦¹µøµ¡ªº¤lµøµ¡®É¡A¥Î double-buffering ¤è¦¡¥Ñ¤U¦Ó¤Wø»s¡C
WS_EX_CONTEXTHELP400h ¦bµøµ¡ªº¼ÐÃD¦C¥]§t°Ý¸¹¡C·í¨Ï¥ÎªÌ«ö¤@¤U°Ý¸¹¡A´å¼Ð·|Åܬ°¦³«ü¼Ðªº°Ý¸¹¡C¦pªG¨Ï¥ÎªÌ¦A«ö¤@¤U¤lµøµ¡¡A¤lµøµ¡·|¦¬¨ì WM_HELP°T®§¡C
WS_EX_CONTROLPARENT10000h ¦pªG«ü©w¦¹©µ¦ù­·®æ¡A¨Ï¥ÎªÌ¥i¥H«ö Tab Áä©Î¤è¦VÁä¨Ì§ÇÅý¦U¤lµøµ¡¾Ö¦³¿é¤JµJÂI¡C
WS_EX_DLGMODALFRAME1hÂùÃä®Øªºµøµ¡¡C
WS_EX_LAYERED80000h «Ø¥ß Layered Windows¡A¥²¶·­n«ü©w³oºØ©µ¦ù­·®æ¡CLayered Windows ¤@¯ë¬O«ü¤£³W«h§Îª¬©Î¬O³z©úªºµøµ¡¡C
WS_EX_LAYOUTRTL400000h ¦è§B¨Ó¤å©Îªü©Ô§B¤åª©ªº Windows §@·~¨t²Î¡A¯à¨Ï¤ô¥­®y¼Ð­ìÂI¦b³Ì¥kÃä¡A¶V¦V¥ªÃä¡A®y¼Ð­È¶V¤j¡C
WS_EX_LEFT0µøµ¡¨ã¦³¥ªÃä¹ï¨äªº­·®æ¡A³o¬O¤º©w­È¡C
WS_EX_LEFTSCROLLBAR4000h ¦è§B¨Ó¤å©Îªü©Ô§B¤åª©ªº Windows §@·~¨t²Î¡A¯à¨Ï««ª½±²¶b©ñ¦b¤u§@°Ïªº¥ªÃä¡C³o­Ó­·®æ¡A¦b¨ä¥Lª©¥»µL§@¥Î¡C
WS_EX_LTRREADING0µøµ¡¤ºªº¤å¦r¥Ñ¥ª¦V¥k¾\Ū¡A¦¹¬°¤º©w­È¡C
WS_EX_MDICHILD40h«Ø¥ß MDI ¤lµøµ¡¡C
WS_EX_NOACTIVATE8000000h ¦¹­·®æ·|¨Ïµøµ¡Åã¥Ü¦b¿Ã¹õ³Ì¤W¼h¡A¦ý«o¤£¨ã¿é¤JµJÂI¡A¥ç§Y¦¹µøµ¡µLªk§@¥Î¤¤¡A­n¨Ï³oºØµøµ¡§@¥Î¡A¥²¶·©I¥s SetActiveWindow ©Î SetForegroundWindow¡C³oºØµøµ¡¤]¤£·|¥X²{¦b¤u§@¦C¡A°£«D©M WS_EX_APPWINDOW ¦X¥Î¡C
WS_EX_NOINHERITLAYOUT100000h
WS_EX_NOPARENTNOTIFY4h ¨ã¦³¦¹©µ¦ù­·®æªºµøµ¡«Ø¥ß©ÎÃö³¬®É¡A¤£·|¹ï¤÷µøµ¡µo¥X WM_PARENTNOTIFY °T®§¡C
S_EX_OVERLAPPEDWINDOW300h¬Û·í©ó WS_EX_CLIENTEDGE »P WS_EX_WINDOWEDGE ªºµ²ªG¡C
WS_EX_PALETTEWINDOW188h¬Û·í©ó WS_EX_WINDOWEDGE¡BWS_EX_TOOLWINDOW¡BWS_EX_TOPMOST ªºµ²ªG¡C
WS_EX_RIGHT1000h³o­Ó©µ¦ù­·®æ¥u¦³¦b¦è§B¨Ó¤å¡Bªü©Ô§B¤å©Î¨ä¥L¤ä´©¾\Ū¤è¦Vªº Windows ª©¥»¾A¥Î¡A¥¦·|¨Ïµøµ¡ªº¤å¦r¥Ñ¥k¦V¥ª±Æ¦C¡C¨Ò¦p¨ã¦³ WS_EX_RIGHT ªº½s¿è®Ø¡BÀRºA±±¥ó¡A¤À§O©M ES_RIGHT¡BSS_RIGHT ­·®æªº®ÄªG¤@¼Ë¡C
WS_EX_RIGHTSCROLLBAR0 ¦pªG¦³±²¶b¡A·|©ñ¦b¤u§@°Ïªº¥kÃä¡A³o¬O¤º©wªº©µ¦ù­·®æ¡C
WS_EX_RTLREADING2000h ³o­Ó©µ¦ù­·®æ¥u¦³¦b¦è§B¨Ó¤å¡Bªü©Ô§B¤å©Î¨ä¥L¤ä´©¾\Ū¤è¦Vªº Windows ª©¥»¾A¥Î¡A¥¦·|¨Ïµøµ¡ªº¤å¦r¥Ñ¥k¦V¥ª±Æ¦C¡C
WS_EX_STATICEDGE20000h¨Ïµøµ¡¨ã¦³¤TºûÃä®Ø¡A³q±`¥Î©ó¤£Åý¨Ï¥ÎªÌ¿é¤Jªº±±¨î¶µ¡A¨Ò¦pÀRºA±±¨î¶µ¡C
WS_EX_TOOLWINDOW80hWS_EX_TOOLWINDOW ¥i¥H«Ø¥ß¤@­Ó¤u¨ãµøµ¡¡A³Q§@¬°¯B°Ê¤u¨ãÄæ¨Ï¥Î¡C¤u¨ãµøµ¡ªº¼ÐÃDÄæ¤ñ±`³W¼ÐÃDÄæµu¡A¨Ã¥B¨Ï¥Îªºµøµ¡¦rÅé§ó¤p¡C¦pªG¤u¨ãµøµ¡¤£¨ã WS_EX_APPWINDOW¡A¨º»ò¥¦´N¤£·|¥X²{¦b¤u§@¦CùØ¡F·í«ö¤U ALT TAB Áä«á¡A¤]¤£·|¥X²{¦b¤u§@¤Á´«µ{¦¡¦C¤¤¡C
WS_EX_TOPMOST8h ¥H³oºØ­·®æ²£¥Íªºµøµ¡·|³Q¨t²Î©ñ¸m¦b³Ì¤W¼h¡A§Y¨Ïµøµ¡¨S¦³¬¡°Ê¡A¤]·|«O«ù¦b³Ì¤W¼h¡Cµ{¦¡¥i¥H©I¥s SetWindowPos ¨Ó¥[¤J©Î²¾°£¦¹ÄÝ©Ê¡C
WS_EX_TRANSPARENT20h ¥H³oºØ­·®æ²£¥Íªºµøµ¡·|¬O³z©úªº¡C¤]´N¬O»¡¡A¥ô¦ó¦b³oºØµøµ¡¤Uªºµøµ¡¤£·|³Q¾B½ª¡C¥u¦³¦b©Ò¦³¦P¼h¯Åµøµ¡ ( sibling windows ) §ó·s¤§«á¡A¨ã¦³³oºØ­·®æªºµøµ¡¤~·|¦¬¨ì WM_PAINT °T®§¡C
WS_EX_WINDOWEDGE100h¨ã¦³¤Tºû¥Y°_Ãä®Øªºµøµ¡¡C

µù¥|¡G²¼äªº¤è¦¡©w¸q±±¨î¶µ

µøµ¡Ãþ§O
class name
±±¨î¤¸¥ó
control type
¦WºÙ¤º©w­·®æ
STATIC LTEXT¦V¥ª¹ï»ôªº¦r¦êSS_LEFT¡AWS_GROUP
CTEXT¦V¤¤¹ï»ôªº¦r¦êSS_CENTER¡AWS_GROUP
RTEXT¦V¥k¹ï»ôªº¦r¦êSS_RIGHT¡AWS_GROUP
ICON¹Ï¥Ü±±¥óSS_ICON
BUTTON PUSHBUTTON¤UÀ£¦¡«ö¶s BS_PUSHBUTTON¡AWS_TABSTOP
DEFPUSHBUTTON¤º©w¤UÀ£¦¡«ö¶s BS_DEFPUSHBUTTON¡AWS_TABSTOP
CHECKBOXÀËÅç²° BS_CHECKBOX¡AWS_TABSTOP
AUTOCHECKBOX¦Û°ÊÀËÅç²° BS_AUTOCHECKBOX¡AWS_TABSTOP
RADIOBUTTON¶ê§Î«ö¶s BS_RADIOBUTTON¡AWS_TABSTOP
AUTORADIOBUTTON¦Û°Ê¶ê§Î«ö¶s BS_AUTORADIOBUTTON¡AWS_TABSTOP
GROUPBOX¸s²ÕBS_GROUPBOX
STATE3¤TºAÀËÅç²° BS_3STATE¡AWS_TABSTOP
AUTO3STATE¦Û°Ê¤TºAÀËÅç²° BS_AUTO3STATE¡AWS_TABSTOP
EDITEDITTEXT ½s¿è®ØES_LEFT¡AWS_BORDER¡AWS_TABSTOP
COMBOBOXCOMBOBOX ½Æ¦X®ØCBS_SIMPLE¡AWS_TABSTOP
LISTBOXLISTBOX²M³æ LBS_NOTIFY¡AWS_BORDER
SCROLLBARSCROLLBAR±²¶b SBS_HORZ

¦^¤W¤@³¹¡A ¦^¨ì­º­¶¡A¨ì¤U¤@³¹