11. µøµ¡³q¥Î«¬±±¨î¶µ¡G²Ä¤G³¡¥÷
Animation±±¨î¶µ
¡@
Animation±±¨î¶µ¯à¼½©ñAVIÀɮסA©Ò¥H¥i¥H¦b±zªºµ{¦¡¤¤¼½©ñ²³æªº°Êµe¡C¸Ó±±¨î¶µ¥u¤ä´©¤£§tÁnµ¡B¤]¨S¦³À£ÁYªºAVIÀÉ¡A©Î¥HRun-Length Encoding®æ¦¡À£ÁYªºAVIÀÉ¡CY·Qn¼½©ñ«D¤WzªºAVIÀɮɡA·|Åã¥Ü¿ù»~°T®§35752¡G¡uµLªk¶}±ÒAVIÀɮסv¡C
Animation±±¨î¶µ¹ï©ó¼½©ñ²³æªº°Êµe®æ¥~¦³¥Î¡A¨Ò¦p¦bMicrosoft Visual Basic¥Dn¦w¸Ë¥Ø¿ý¤U\Common\Graphics\AVIs¤l¥Ø¿ýªº¨º¨ÇÀɮסCÁ|¨Ò¨Ó»¡¡A·ín¦bI´º°õ¦æÀɮ׽ƻs§@·~®É¡A¥i¨Ï¥Î¦¹±±¨î¶µÅã¥Ü±q¤@Ó¸ê®Æ§¨½Æ»s¨ì¥t¤@Ó¸ê®Æ§¨®Éªº¯È±i¸¦æ°Êµe¡A¦p¹Ï11-1©Ò¥Ü¡C
¡@
¹Ï11-1 ¦b®ÑªþCD¤¤ªº®i¥Üµ{¦¡Åý±zÅéÅçAnimation±±¨î¶µ¡C |
Animation±±¨î¶µ©µ¦ù¥X¤TÓ¥DnªºÄݩʡC¨ä¤¤ªºCenter©MBackStyle¥u¯à¦b³]©w¶¥¬q¥[¥H³]©w¡A¦b°õ¦æ¶¥¬q«o¬O°ßŪªº¡C¦pªGCenterÄݩʬ°True¡AAVIÀÉ·|¦ì¦bAnimation±±¨îµøµ¡ªº¤¤¥¡¡]쥻¦b¥ª¤W¨¤¼½©ñ¡^¡CBackStyleÄݩʥi¥H¬O0-cc2BackstyleTransparent¡]¹w³]È¡AÅã¥Ü±±¨î¶µªºI´º¦â¡^©Î1-cc2BackstyleOpaque¡]Åã¥ÜAVII´º¡^¡C²Ä¤TÓÄݩʡAAutoPlay¡A¥i¥H¦b¥ô¦ó®ÉÔ¥[¥H³]©w¡CY³]¨ä¬°True¡A«h·íÀɮ׳Q¸ü¤J±±¨î¶µ®É¡A·|¦Û°Ê¼½©ñAVIÀɮסC¡]¦pªG°µ¤F³oÓ³]©w¡A¥²¶·¸g¥Ñµ{¦¡½X³]©wAutoPlay¬°False¨Ó°±¤î¼½©ñ¡^¡C
¨S¦³³]p¶¥¬qªºÄݩʱN¨M©w¦b°õ¦æ¶¥¬qþÓAVIÀÉ®×n³Q¸ü¤J»PÅã¥Ü¡C¬°¤Fn¥Ñµ{¦¡½X¨Ó°_©l°Êµe¡Aº¥ý¥²¶·¶}±ÒAVIÀɮסA¥Îªº¬OOpen¤èªk¡G
Animation1.Open "d:\vb6\Graphics\AVIs\filecopy.avi"
¦pªGAutoPlayÄݩʬ°True¡AAVIÀÉ®×·|¦b³Q¸ü¤J®É¶}©l¼½©ñ¡C§_«h§A´N¥²¶·n³z¹Lµ{¦¡½X¡]Play¤èªk¡^¥h±Ò°Ê¥¦¡A¤U±¬O¨ä»yªk¡G
Play [RepeatCount], [StartFrame], [EndFrame]
RepeatCount¬O°Êµe¼½©ñªº¦¸¼Æ¡F¡]¹w³]Ȭ°-1¡Aªí¥ÜµL¦¸¡C¡^StartFrame«h¬O°Êµeªº°_©l®Ø¬[¡]¹w³]Ȭ°0¡A²Ä¤@Ӯج[¡^¡FEndFrame¬O°Êµeªºµ²§À®Ø¬[¡]¹w³]¬°-1¡A³Ì«á¤@Ӯج[¡^¡C
¦³¨âÓ¤èªk¥i¥H°±¤î¼½©ñ°Êµe¡A¦Ó¤èªkªº¿ï¾Ü¨ú¨M©ó¥Î¦óºØ¤èªk±Ò°Ê¸Ó°Êµe¡C¦pªG°Êµe¬°AutoPlay¼Ò¦¡¡A«K¥u¯àÂǥѳ]©wAutoPlayÄݩʬ°False¨Ó°±¤î¥¦¡F¦pªG¥ÎPlay¤èªk¨Ó±Ò°Ê°Êµe¡A«h¥i¥ÎStop¤èªk¨Ó°±¤î¥¦¡F¦pªG¤£¥´ºâ¦A«·s¼½©ñ¦P¼ËªºAVIÀɮסA¥i¥HÂÇ¥ÑClose¤èªk¨ÓÄÀ©ñ°O¾ÐÅéªÅ¶¡¡A¦p¤U±ªºµ{¦¡½X©Ò¥Ü¡]°²³]AutoPlayÄݩʬ°False¡^¡G
Private Sub cmdStart_Click() Animation1.Open "d:\vb5\graphics\AVIs\filecopy.avi" Animation1.Play End Sub Private Sub cmdStop_Click() Animation1.Stop Animation1.Close End Sub
Animation±±¨î¶µ¤£·|¥]§t¥ô¦ó¨Æ¥ó¡C³oªí¥Ü±zµLªk±oª¾°Êµe¦ó®Éµ²§ô¡C
UpDown±±¨î¶µ
¡@
UpDown±±¨î¶µ´£¨Ñ¤@Ó²©ö«o¦³®Äªº¤èªk«Ø¥ß±Û¶s¡A©Ò¿×±Û¶s¦b¤@¯ëWindowsÀ³¥Îµ{¦¡«üªº¬O¡GÅã¥Ü¦b¼Æ¦rÄæ¦ì¥k°¼¡A¥i¥HÅý¨Ï¥ÎªÌ¥Î·Æ¹«ÂI¿ï¨Ó¼W¥[©Î´î¤ÖÄæ¦ìȪº«ö¶s¡C«Ø¥ß³oºØ±Û¶s¨Ã¤£¤ÓÃø¡Ð¤£¹L¥i¥H¨Ï¥Î¤pªºVScrollBar±±¨î¶µ¡A©Î¨Ï¥Î¨âÓStyle¬°1-Graphicalªº¤p«ö¶s¡Ð¤£¹LUpDown±±¨î¶µ¦³§ó¦h¦n³B¡A¥B¨ä«Ø¥ß»P¨Ï¥Î»·¸û¨ä¥L¤èªkÁÙn²³æ¡C
UpDown±±¨î¶µ³Ì¸Þ²§ªº¯S¼x¬O¡G¥i¥H¦b³]p¶¥¬q³sµ²¨ä¥Lªº±±¨î¶µ¡ÐºÙ¬°¨ó¦P¡]Buddy¡^±±¨î¶µ¡A¥B¥i¥H¿ï¾ÜUpDown±±¨î¶µ¼vÅTBuddy±±¨î¶µªºþÓ¯S©wÄݩʡC¦¹¥~¡AÁÙ¥i¥H³]©w±²°Ê½d³ò»P¨C¦¸ªº¼W¥[¶q¡C©Ò¥H¦b¤j³¡¤À±¡ªp¤U¡A¨Ã¤£»Ýn¼¶¼gµ{¦¡¡C
³]©w³]p¶¥¬qÄÝ©Ê
¡@
¦bUpDown±±¨î¶µªº¤@¯ë¶ÅÒ¤¤¡A¤jP·|³]©wAlignmentÄݩʡA¥Î¨Ó¨M©wUpDown±±¨î¶µ¬Û¹ï©ó¨äBuddy±±¨î¶µªº¦ì¸m¡C¡]¨äȦ³0-cc2AlignmentLeft©M1-cc2AlignmentRight¡^¡C¦b³oÓ¶ÅÒ¤¤¡A¤]¥i¥H³]©wOrientationÄݩʡ]0-cc2OrientationVertical©Î1cc2OrientationHorizontal¡^¡COrientationÄݩʥu¯à°÷¦b³]p¶¥¬q¥[¥H³]©w¡A¦b°õ¦æ¶¥¬q¬O°ßŪªº¡C
¦bÄݩʶªº¨ó¦P¶ÅÒ¤¤¿ï¾Ü buddy ±±¨î¶µ¡]°Ñ¦Ò¹Ï11-2¡^¡C¥i¦b²Ä¤@ÓÄæ¦ì¤¤Áä¤J±±¨î¶µªº¦WºÙ©ÎÂI¿ï ¦Û°Ê¨M©w ®Ö¿ï¤è¶ô¡CY¥Î«áªÌ¡AUpDown±±¨î¶µ·|¦Û°Ê¿ï¾Ü«e¤@Ó±±¨î¶µ¡]¨Ì¾ÚTabIndex¶¶§Ç¡^§@¬°¨äBuddy±±¨î¶µ¡C¦b¿ï¤F¤@ÓBuddy±±¨î¶µ«á¡A¥t¨âÓÄæ¦ì´NÅܦ¨¥i¥Îª¬ºA¤F¡C¦b¨ó¦PÄݩʡ]BuddyProperty¡^¤U©Ô²M³æ¤¤¡A¿ï¾ÜBuddy±±¨î¶µªºþÓÄݩʬOn³QUpDown±±¨î¶µ©Ò¼vÅTªº¡C¡]Y¨S¦³¿ï¾Ü¡A·|¨Ï¥ÎBuddy±±¨î¶µªº¹w³]ÄݩʡC¡^±z¥i¥H±N»P ¨ó¦P±±¨î¶µ¦P¨B ¡]SyncBuddy¡^Äݩʳ]¬°True¡A¦p¦¹·|¨Ï±oUpDown±±¨î¶µ¦Û°Ê×¥¿Buddy±±¨î¶µªº¨ó¦PÄݩʡC
³q±`·|¿ï¾Ü TextBox ±±¨î¶µ§@¬° UpDown ±±¨î¶µªº¨ó¦P±±¨î¶µ¡A¥B³]©wTextÄݩʬ°¨ó¦PÄݩʡC¤£¹L·íµM¤]¯à§âUpDown±±¨î¶µ³sµ²¨ì¨ä¥LºØ±±¨î¶µªºÄݩʡ]¨Ò¦pLeft©ÎWidth¡^¡C¤£¹L¤£¯à¨Ï¥Î»´¶qªºµLµøµ¡±±¨î¶µ§@¬°¨ó¦P±±¨î¶µ¡C
¹Ï11-2 UpDown±±¨î¶µÄݩʶ¤¤ªº¨ó¦P¶ÅÒ¥i¥HÅý±z¿ï¾Ü¨ó¦P±±¨î¶µ©M¨ó¦PÄݩʡC |
³Ì«á¦bÄݩʶªº±²°Ê¶ÅÒ¡AUpDown±±¨î¶µªºMin©MMaxÄݩʪí¥ÜValueÄݩʪº¤¹³\½d³ò¡CIncrementÄݩʬO·í¨Ï¥ÎªÌÂI¿ï UpDown ±±¨î¶µªº±Û¶s¡AValueÄݩʪº¼W¥[©Î´î¤Ö¶q¡C¦pªGWrapÄݩʳ]¬°True¡A«h·íValueÄݩʶW¹LMin©ÎMaxÄݩʮɷ|´`Àô¡C
°õ¦æ¶¥¬qªº¹B§@
¡@
¦pªGUpDown±±¨î¶µªºSyncBuddyÄݩʳ]¬°True¡A±z´N¤£»Ýn¼¶¼g¥ô¦óªºµ{¦¡¨Ó¤â°Ê§ïÅÜBuddy±±¨î¶µªºÄݩʡCµM¦Ó¤]¦³¤£¯àÂǧU¦¹¾÷¨îªº®ÉÔ¡A¨Ò¦p¡AUpDown±±¨î¶µ¥i¯à¨S¦³¨ó¦P±±¨î¶µ¡A©Î»Ýn¼vÅT³\¦h±±¨î¶µ©Î¦P¤@Ó±±¨î¶µªº¦hÓÄݩʡC¡]¨Ò¦p¡AÂǥѦP®É½Õ¾ã¥¦ªºWidth©MHeightÄݩʡA¥i¥H©ñ¤j©ÎÁY¤p±±¨î¶µ¡C¡^¦b³oºØ±¡ªp¤U¡A±z»Ýn°µªº¬O¦bChange¨Æ¥óµ{§Ç¤º¼¶¼gµ{¦¡½X¡A¦p¦P¹B§@ScrollBar±±¨î¶µ¯ë¡C
UpDown±±¨î¶µ¥]§t¨âӨƥó¡A¥i¥H¦³³\¦hªºÆF¬¡«×¡GDownClick¤ÎUpClick¨Æ¥ó¡C·í·Æ¹«©óUpDown±±¨î¶µªº¥ô¤@Ó«ö¶s¤W©ñ¶}®É¡]¦bChange¨Æ¥ó«á¡^·|¤Þµo³o¨âӨƥó¡C§Y¨ÏValueÄݩʤw¸g¹F¨ì¥¦ªºMin©ÎMax®É¡A¤]·|¤Þµo³o¨Ç¨Æ¥ó¡A¦p¦¹¨Ï±oDownClick©MUpClick¨Æ¥ó·¥¬°¦³¥Î¡A¯S§O¬O¤£·Q¨î¥Ø«eȪº½d³ò®É¡G
' Move all controls on the form pixel by pixel. Private Sub UpDown1_DownClick() Dim ctrl As Control For Each ctrl In Controls ctrl.Top = ctrl.Top + ScaleY(1, vbPixels, vbTwips) Next End Sub Private Sub UpDown1_UpClick() Dim ctrl As Control For Each ctrl In Controls ctrl.Top = ctrl.Top - ScaleY(1, vbPixels, vbTwips) Next End Sub
©Ò¦³¦b³]p¶¥¬q©Ò³]©wªºÄݩʤ]¯à¦b°õ¦æ¶¥¬q¸g¥Ñµ{¦¡½X¨Ó×§ï¡A°£¤FOrientationÄݩʥ~¡C¨Ò¦p¡A¥i¥H¥Î¤U¦Cµ{¦¡§ïÅܨó¦P±±¨î¶µ©M¨ó¦PÄݩʡG
Set UpDown1.BuddyControl = Text2 UpDown1.BuddyProperty = "Text"
BuddyControlÄݩʤ]¯à°÷¥H¨ó¦P±±¨î¶µªº¦W¦r¨Ó«ü©w¡A¨Ò¦p¡G
UpDown1.BuddyControl = "Text2" ' This syntax even works with items of control arrays. UpDown1.BuddyControl = "Text3(0)"
·í±z¦b°õ¦æ®É§ïÅܨó¦P±±¨î¶µ¡AUpDown±±¨î¶µ·|¦Û°Ê²¾°Ê¨ì¨ó¦P±±¨î¶µªº®ÇÃä¡A¦¹®É¸Ó¨ó¦P±±¨î¶µ·|ÁY¤p¥H«K®e¯ÇUpDown±±¨î¶µ¡C
FlatScrollBar±±¨î¶µ
¡@
FlatScrollBar±±¨î¶µ¨ú¥N쥻ªºHscrollBar©MVscrollBar¡G±z¥i¥H¥Î¦P¼Ëªº¦W¦r¥HFlatScrollBar±±¨î¶µ¨Ó¥N´ÀHscrollBar©ÎVscrollBar±±¨î¶µ¡A¦p¦¹µ{¦¡¤´·|¦p©¹±`¯ëªº¹B¦æµL»~¡C¨Ì·Ó¥¦OrientationÄݩʪºÈ¡A³oÓ±±¨î¶µ¥i¦¨¬°¤ô¥©Î««ª½ªº±²¶b¡C¦¹Äݩʤ]¯à¦b°õ¦æ®É³Q×§ï¡C
±z¥i¥H¦b³]p¶¥¬q³]©wFlatScrollBar±±¨î¶µªº©Ò¦³ªºÄݩʡA¦p¹Ï11-3©Ò¥Ü¡C³oÓ±±¨î¶µ¤ä´©¤TӹϹ³®æ¦¡¡G¥±¡B¥ßÅé¡]Ãþ¦ü쥻ªºScrollBar±±¨î¶µ¡^©MTrack3D¡]¥±±²¶b¡A¦ý·í·Æ¹«²¾¹L´N·|Åܦ¨¥ßÅé¡A·¥¹³Microsoft Encartaªº±²¶b¡^¡C¦b³]p¶¥¬q¡A¥iÂǥѳ]©wAppearanceÄݩʬ°¤U¦C¨ä¤¤ªº¤@ÓÈ¡G0-fsb3D¡B1-fsbFlat©Î2-fsbTrack3D¨Ó¿ï¾Ü¹Ï¹³®æ¦¡¡C
¡@
¹Ï11-3 FlatScrollBar±±¨î¶µÄݩʶªº¤@¯ë¶ÅÒ¡C |
ArrowsÄݩʨϱz¥i¥H¿ï¾Ü¬O§_Åý±²¶b¥½ºÝªº¤@өΨâÓ½bÀY¦¨¬°¥i¥Î¡A¥i³]©w¬°1-cc2LeftUp©Î2-cc2RightDown¡F¹w³]Ȭ°0-cc2Both¡A¥iÅý¨âÓ½bÀY³£¬O¥i¥Îªº¡CMin¡BMax¡BLargeChange¡BSmallChange©MValueÄݩʦ³ªº·N¸q»PHScrollBar©MVScrollBar±±¨î¶µªº¬Û¦PÄݩʦP¸q¡C
¦b°õ¦æ¶¥¬qn¤ÏÀ³¨Ï¥ÎªÌ¹ïFlatScrollBar±±¨î¶µªº°Ê§@»P¤@¯ë±²¶b¤@¼Ë¡AnÂÇ¥ÑChange©MScroll¨Æ¥ó¨Ó°õ¦æµ{¦¡½X¡CFlatScrollBar°ß¤@¦b°õ¦æ®É»Ýnק諸ÄݩʬOArrows¡Ð¨Ò¦p¡A·í±²¶b¤w¸g©è¹F³Ì¤p©Î³Ì¤jȮɡA¨ú®ø¾A·íªº½bÀY¡C±z³q±`¦bChange¨Æ¥óµ{§Ç¤¤·|¨Ï¥Î¨ì³oÓ¤èªk¡G
Private Sub FlatScrollBar1_Change() ' This is a horizontal FlatScrollBar. If FlatScrollBar1.Value = FlatScrollBar1.Min Then FlatScrollBar1.Arrows = cc2RightDown ElseIf FlatScrollBar1.Value = FlatScrollBar1.Max Then FlatScrollBar1.Arrows = cc2LeftUp Else FlatScrollBar1.Arrows = cc2Both End If End Sub
MonthView±±¨î¶µ
¡@
Visual Basic 6¦³¨âÓÃö©ó¤é´Áªº·s³q¥Î±±¨î¶µ¡GMonthView±±¨î¶µ©MDateTimePicker±±¨î¶µ¡C«e¤@Ó¬O¹³¤ë¾äªº±±¨î¶µ¡A¦Ó«áªÌ¬OÓ¥i¿é¤J¤é´Á©M®É¶¡ªº¤å¦r¤è¶ô±±¨î¶µ¡A¨âªÌÃö«Y±K¤Á¡A¦]¬°·í¨Ï¥ÎªÌ¦bDataTimePicker±±¨î¶µ¤U©Ô¶s¿ï¾Ü¤é´Á®É¡A¨Ï¥Îªº¬OMonthView±±¨î¶µ¡C
³]©w³]p¶¥¬qÄÝ©Ê
¡@
¦b°t¸mMonthView±±¨î¶µ©óªí³æ«á¡A¥i¥H¦b¤W±ÂI¿ï¥kÁäÅã¥Ü¥¦ªºÄݩʶ¡A¦p¹Ï11-4©Ò¥Ü¡CValueÄݩʧY¬°±±¨î¶µ¤¤©Ò°é¿ïªº¤é´Á¡C¡]ÂI¿ï¥kÃ䪺½bÀY¥i¥ý¤F¸Ñ¤°»ò¬ODateTimePicker±±¨î¶µ¡C¡^MinDate©MMaxDate¨M©w¦bMonthView±±¨î¶µ¤¤¡A¯à³Q¿ï¾Üªº¤é´Á½d³ò¡FStartOfWeekÄݩʨM©w¤ë¾ä³Ì¥ª°¼¨º¦æ¬O¬P´Á´X¡C
¡@
¹Ï11-4 ³]©wMonthView±±¨î¶µªº³]p¶¥¬qÄÝ©Ê |
³\¦h¥¬ªLÄݩʷ|¼vÅT±±¨î¶µªº¥~»ª©M¥\¯à¡C¦pªGShowWeekNumber¬°True¡AMonthView±±¨î¶µ·|Åã¥Ü¦U¶g¶g¼Æ¡C¦pªGMultiSelect¬°True¡A¨Ï¥ÎªÌ¯à¿ï¾Ü¤@Ó½d³òªº¤é´Á¡G³o®É¡A³Ì¦h¥i³sÄò¿ï¨úªº¤é¼Æµ¥©óMaxSelCountÄÝ©ÊÈ¡C¡]¹w³]¬°¤@¬P´Á¡C¡^ShowTodayÄݩʨM©w¬O§_nÅã¥Ü¡uToday¸ê°T¡v¡C
MonthView±±¨î¶µ³Ì¦h¯àÅã¥Ü12Ó¤ë¡A¦ÓÅã¥Üªº¤ë¼Æ¶q¬OMonthRows©MMonthColumnsÄݩʪº¼¿n¡C¹w³]±¡ªp¤U¡A·í¨Ï¥ÎªÌÂI¿ï±±¨î¶µªº½bÀY«ö¶s¡A©Ò±²°Êªº¤ë¼Æ¶qµ¥©óÅã¥Ü¦b±±¨î¶µ¤Wªº¤ë¼Æ¶q¡A¦ý¥iÂǥѧâScrollRateÄݩʳ]¬°«D¹sȨӧïÅܦ¹¦æ¬°¡C
MonthView±±¨î¶µÁÙ¥]§t³\¦hÃö©ó«e´º©MI´ºÃC¦âªºÄݩʡA¦Ó¥B®e©ö·d²V¡C¹Ï11-5Åý±z¤F¸Ñ¦p¦ó¨Ï¥ÎForeColor¡BTitleForeColor¡BTitleBackColor¡BMonthBackColor©MTrailingForeColorÄݩʡC¡]Trailing Days«üÄÝ©ó«eÓ¤ë©Î¤UӤ몺¤é¤l¡C¡^MonthBackColorÄݩʤ]¼vÅT¬P´Á´X¦W¦rªºÃC¦â©M¼Æ¥Ø¡C©_©Çªº¬O¡A±±¨î¶µ¤]¦³¼Ð·ÇªºBackColorÄݩʡA¥u¬O¥¦´X¥G¨S¦³¤°»ò§@¥Î¡A°£¤F¼vÅT¤U¤è©M¥k°¼Ã䮨ªº½u¥~¡C
¡@
¹Ï11-5 Ãö©óMonthView±±¨î¶µ¦U¿W¥ß°Ï°ìªºÃC¦â±±¨î¡C |
¦b³o¨Ç³]p¶¥¬qªºÄݩʤ¤¡A¥i¯à»Ýnª`·N´XÓ¯S®íÄݩʡA¥]¬ADataSource¡BDataField¡BDataMember©MDataFormatÄݩʡC¨Æ¹ê¤W¡AMonthView¬OÓ¸ê®Æ·Pª¾±±¨î¶µ¡A¥i¥H³sµ²¨ì¼Ð·ÇData±±¨î¶µ¡BRemoteDate±±¨î¶µ©Î¥ô¦óADO¸ê®Æ¨Ó·½ªº¤é´ÁÄæ¦ì¡C
ª`·N
Yn±NÀ³¥Îµ{¦¡¥»¤g¤Æ¡Aȱo¼y©¯ªº¬O¡A MonthView±±¨î¶µ·|¦Û°Ê½Õ¾A¦Û¤v¨ì¨Ï¥ÎªÌªºÀô¹Ò¡A¦Ó¥B¥¿½T¦aÂà´«©Ò¦³¤ë¥÷©M¤é´Áªº¦WºÙ¡C¤£¹L¹ê§@¤W·|¦³Ó¤p¿ù»~¡GToday¸ê°TµLªk¥»¤g¤Æ¡A©Ò¥HÀ³¸Ón³]ShowTodayÄݩʬ°False¡AµM«á´£¨Ñ§OºØ§Î¦¡ªºToday¸ê°T¡C
°õ¦æ¶¥¬qªº¹B§@
¡@
¨Ï¥ÎMonthView¦³³\¦h¤èªk¡A¤£¹L¦³¨Ç¨Ã¤£©úÅã¡C¤j³¡¤Àªº¤H³£ª¾¹D¥iÂI¿ï±±¨î¶µ¼ÐÃDªþªñªº¨âÓ½bÀY¨Ó©¹«á©Î©¹«e¤@Ó¤ë¥÷¡C¤Ö¼Æ¤HÁÙª¾¹D¥i¦bÂI¿ï¤é´Á®É¡A¦A«ö¤U[Shift]Áä«K¥i¿ï¾Ü¤@©w½d³òªº¤é´Á¡]¦pªGMultiSelect¬°True¡^¡CµM¦Ó¡A¥i¯à¨S¤°»ò¤Hª¾¹DÂI¿ï±±¨î¶µ¼ÐÃDªº¤ë¥÷¦WºÙ·|¥X²{§Ö±¶¥\¯àªí¡A¥Î¨Ó¿ï¾Ü·í¦~ªº¥ô¤@¤ë¥÷¡C¬Æ¦ÜÂI¿ï¦~¥÷·|Åã¥Ü¨âÓ±Û¶sÅý¨Ï¥ÎªÌ½Õ¾ã¦~¥÷¡Ð«e¶i©Î«á°h¡C¡]¨£¹Ï11-6¡^¡C§O§Ñ¤F¦b¾Þ§@¤â¥U¤W´£¨ì³o¨ÇÁôÂÃ¥\¯à¡An¤£´N§â³o¨Ç¥Îªk¥ÎLabel±±¨î¶µÅã¥Ü¦bªí³æ¤W¡C
¡@
¹Ï11-6 ¦¹½d¨Òµ{¦¡Åý±z¤F¸ÑMonthView±±¨î¶µªº©Ò¦³¶i¶¥¯S¦â¡C·í±zÂI¿ï¦~¥÷®É¡A¦b¼ÐÃD°Ï·|Åã¥Ü±Û¶s¡C |
¨ú±o·í«eªº¤é´Á
¡@
°£«D»Ýn°õ¦æ¯S®íªº¹Bºâ¡An¤£µM¦bµ{¦¡½X¤¤¨Ï¥ÎMonthView±±¨î¶µ¨Ã¤£Ãø¡C±±¨î¶µ¦³ÓValueÄݩʡA¥i¥Î¨Ó«ü©w¤@Ó¤é´Á©ÎŪ¨ú¨Ï¥ÎªÌ©Ò¿ï¾Üªº¤é´Á¡C±z¬Æ¦Ü¤£»Ýn±qValueÄݩʤ¤Àò±o¤é¡B¤ë»P¦~¥÷¡A¦]¬°±±¨î¶µ¦³Day¡BMonth©MYearÄݩʡC«Ü¤è«Kªº¬O¡G³o¨ÇÄݩʤ]¥i¥H³Q«ü©w¡Ð¨Ò¦p¡A¥i¥H¥Îµ{¦¡¨ÓÅã¥Ü¤UÓ¤ë¡A¦p¤U¡G
If MonthView1.Month < 12 Then MonthView1.Month = MonthView1.Month + 1 Else MonthView1.Month = 1 MonthView1.Year = MonthView1.Year + 1 End If
DayOfWeekÄݩʶǦ^©Ò¿ï¾Üªº¤é´Á¬O¬P´Á´X¡C¦P¼Ë¦a¡A³oÓÄݩʬO¥i¥H³Q¼g¤Jªº¡A©Ò¥H¥un³z¹L¤U¦Cªºµ{¦¡½X¡A«K¥i¥H¿ï¾Ü·í©Pªº¬P´Á¤@¡G
MonthView1.DayOfWeek = vbMonday
µM¦Ó·íMultiSelect¬°True®É¡ADay¡BMonth¡BYear©MDayOfWeekÄݩʫKµLªk¥[¥H³]©w¡C
ª`·N
¦b¨Ï¥ÎMonthView±±¨î¶µ®É¡Aµ§ªÌµo²{¤@Ó·N¥~ªº¦æ¬°¡G¦pªG²{¦b±±¨î¶µ¾Ö¦³¾nÂI¡A¦Ó±zÂI¿ï¦P¤@Óªí³æ¤ºªº¨ä¥L±±¨î¶µ®É¡A³oÓ³QÂI¿ïªº±±¨î¶µ·|Àò±o¾nÂI¡A¦ý«o¨S¤ÞµoClick¨Æ¥ó¡A³o¥i¯à·|¨Ï±zªº¨Ï¥ÎªÌ·P¨ì§x´b¡Cµ§ªÌµo²{³o¬O¦]¾nÂI¦bMonthView±±¨î¶µ®É¡A¦b«ö¶s¤W«ö¤@¤U±N¤£·|µo¥Í¹w´Áªº®ÄªG¡A³oÓ¿ù»~¥i¯à·|¦b¥H«áªºService Pack¤¤×´_¡C¦b¦¹®É¡A³oÓ°ÝÃDªº½TÃø¥H³B²z¡A³Ì«á¥u¯à¨Ì¾aMouseDown¨Æ¥ó¦Ó«DClick¨Æ¥ó¤F¡A°µªk¦p¤U¡G
Dim MousePressed As Boolean ' A form-level variable Private Sub cmdTryMe_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MousePressed = True Call DoSomething End Sub Private Sub cmdTryMe_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MousePressed = False End Sub Private Sub cmdTryMe_Click() ' This event might be called as a response to a hot key ' or a click when the focus isn't on the MonthView control. If Not MousePressed Then Call DoSomething End Sub Private Sub DoSomething() ' The code that must execute when the button is clicked MsgBox "Button has been clicked!" End Sub
¦^À³½d³òªº¿ï¨ú
¡@
¥i¥HÂÇ¥ÑMinDate©MMaxDateÄݩʨӨî¨Ï¥ÎªÌ¯à¿ï¾Üªº¤é´Á½d³ò¡C¦pªGMultiSelectÄݩʬ°True¡A«h¯à¿ï¾Ü³sÄòªº¤é´Á¡C¤]¥i¥H¥ÎSelStart©MSelEndÄݩʨӨú±o¿ï¾Üªº½d³ò¡]³o¨ÇÄݩʶǦ^DataÈ¡C¡^¦Ó©Ò¯à¿ï¾Ü¤é´Áªº³Ì¤j½d³ò¨ú¨M©óMaxSelCountÄݩʡC
¨C¤@¦¸¨Ï¥ÎªÌ¿ï¾Ü·sªº¤é´Á¡A´N·|¤ÞµoSelChange¨Æ¥ó¡C³oӨƥ󱵦¬¿ï¾Ü½d³òªº°_©l¤é´Á©Mµ²§ô¤é´Á¡AµM«á¥i¥HÅýµ{¦¡³]pªÌ¨ú®ø¹B§@¡CÁ|¨Ò¨Ó»¡¡A±z¥i¥H©Úµ´°²¤éªº¿ï¨ú¡G
Private Sub MonthView1_SelChange(ByVal StartDate As Date, _ ByVal EndDate As Date, Cancel As Boolean) Dim d As Date ' A Date variable can be used to control a For loop. For d = StartDate To EndDate If Weekday(d) = vbSunday Or Weekday(d) = vbSaturday Then ' Cancel the selection if the day is Sunday or Saturday. Cancel = True Exit For End If Next End Sub
ª`·N
MonthView±±¨î¶µ¦³Ó¿ù»~¡G°£«D¨Ï¥ÎªÌ¿ï¾Ü¤TөΧó¦hªº¤é´Á¡A§_«h§Y¨Ï³]©wCancel°Ñ¼Æ¬°True¤´¤£·|¨ú®ø¹B§@¡C³oÓ¿ù»~±N·|¦b·sª©ªº±±¨î¶µ¤¤×¥¿¡A¦ý¥Ø«e¨Ã¨S¦³¤°»ò²³æªº¸Ñ¨M¤èªk¡C¡]¥Ø«eµ§ªÌ¨Ï¥ÎªºMsComCt2.ocxª©¥»¬°6.00.8177¡C¡^
¥t¥~¨âӨƥó¡ÐateClick©MDateDblClick¡A¦b¨Ï¥ÎªÌ¿ï¾Ü·s¤é´Á®É·|¤Þµo¡C·í¨Ï¥ÎªÌÂI¿ï¤é´Á¡AVisual BasicÀ³¥Îµ{¦¡·|±µ¦¬SelChange¨Æ¥ó©MDateClick¨Æ¥ó¡C¦pªG¦b¤é´Á¤W«ö¨â¤U¡Aµ{¦¡·|¨Ì·Ó¶¶§Ç±µ¦¬SelChange¡BDateClick¡BDateDblClick©MDateClick¨Æ¥ó¡A©Ò¥Hnª`·N«ö¨â¤U¤é´Á·|¤Þµo¨â¦¸DateClick¨Æ¥ó¡C¨âӨƥ󳣷|±µ¦¬¤@ӰѼơAY¤é´Á³QÂI¤@¤U©ÎÂI¨â¤U¡G
Private Sub MonthView1_DateDblClick(ByVal DateDblClicked As Date) Dim descr As String descr = InputBox("Enter a description for day " & _ FormatDateTime(DateDblClicked, vbLongDate)) If Len(descr) Then ' Save the description (omitted) ... ' ... End If End Sub
´M§ä³Ì²z·Qªº¤j¤p
¡@
MonthView±±¨î¶µ´£¨Ñ´XÓ¤èªk¨Ó§ïÅܱ±¨î¶µªº¥~»ª¡A°£¤F³\¦hªºÃC¦âÄݩʥ~¡C¨Ò¦p¡A¥i¥HÂǥѫü©w¾A¦XªºÈµ¹MonthRows©MMonthColumnsÄݩʥHÅã¥Ü12Ó¤ë¡CµM¦Ó¦b°õ¦æ®É§ïÅܳo¨ÇÄݩʷ|µo¥Í¤@Ó°ÝÃD¡A¨º´N¬OµLªk±±¨îMonthViewªº¤j¤p¡]¦]³oºÝµø¤ë¼Æ¡B¦r§Î¡B½u®Ø©M¨ä¥L³]©w¨Ó¨M©w¡^¡C¬°¤FÀ°§U±z¨M©wMonthRows©MMonthColumnsÄݩʪº³Ì¨ÎÈ¡AMonthView±±¨î¶µ¤ä´©ComputeControlSize¤èªk¡C¦¹¤èªk¥H¦æ©M¦Cªº¼Æ¥Ø¬°²Ä¤@Ó»P²Ä¤GӰѼơA¨Ã¥H²Ä¤TÓ©M²Ä¥|°Ñ¼Æ§@¬°pºâ«áªø»P¼eªº¶Ç¦^È¡C
' Evaluate the size of a MonthView control with 2 rows and 3 columns Dim wi As Single, he As Single MonthView1.ComputeControlSize 2, 3, wi, he
·í±z·Q¦bªí³æ¤¤®i¥Ü³Ì¦h¤ë¼Æ®É¡A·|¥Î¨ìComputeControlSize¡C¤U±ªº¨Ò¤lºK¿ý¦bÀH®Ñ¥úºÐªº½d¨Òµ{¦¡¤¤¡G
Private Sub cmdTile_Click() ' Find the best value for MonthRows and MonthColumns. Dim rows As Integer, cols As Integer Dim wi As Single, he As Single For rows = 6 To 1 Step -1 ' Note how we avoid creating more than 12 months. For cols = 12 \ rows To 1 Step -1 MonthView1.ComputeControlSize rows, cols, wi, he If wi <= ScaleWidth _ MonthView1.Left And _ he < ScaleHeight _ MonthView1.Top Then MonthView1.MonthRows = rows MonthView1.MonthColumns = cols Exit Sub End If Next Next End Sub
±j½Õ¤é´Á
¡@
MonthView±±¨î¶µ¥iÅý³]pªÌÂǥѲÊÅéÅã²{ªº¤è¦¡¨Ó±j½Õ¬YÓ¤é´Á¡C±z¥i¥H¨Ï¥ÎGetDayBold¨Æ¥ó¨ç¼Æ¨Ó§ïÅܱ±¨î¶µªº¤º®e¡A¦p¤U½d¨Ò¡G
' Display all Sundays and major holidays in boldface. Sub MonthView1_GetDayBold(ByVal StartDate As Date, _ ByVal Count As Integer, State() As Boolean) Dim i As Long, d As Date d = StartDate For i = 0 To Count - 1 If Weekday(d) = vbSunday Then State(i) = True ' Mark all Sundays. ElseIf Month(d) = 12 And Day(d) = 25 Then State(i) = True ' Xmas time. Else ' Deal here with other holidays... End If d = d + 1 Next End Sub
GetDayBold¨Æ¥ó±µ¨ü¤TӰѼơGStartDate¬°±±¨î¶µ¤¤ªº²Ä¤@¤Ñ¡]¥]§t«eӤ몺¤Ñ¼Æ¡^¡BCount¬O¥i¨£ªº¤Ñ¼Æ¡A¦ÓState¬°¤@Ó¥H¹s¬°©³ªº¥¬ªL°}¦C¡A¥]§tCount¤¸¯ÀÈ¡C¦]¦¹nÅý¬YÓ¤é´Á¦¨¬°²ÊÅé¡A¥u»Ýn³]©wState°}¦C¤¤¬Û¹ïªºÈ¬°True§Y¥i¡C
¥t¤@ºØ¤èªk¨Ã¤£³z¹LGetDayBold¨Æ¥ó¨ç¼Æ¡G×§ï±±¨î¶µ¤¤·í«e¤é´ÁªºboldÄݩʡA¥i¨Ï¥ÎVisibleDays©MDayBoldÄݩʨӹF¦¨³oºØ¤èªk¡CVisibleDaysÄݩʱµ¦¬¤@Ó±q1¨ì¥i¨£¤Ñ¼Æªº¯Á¤ÞÈ¡A¨Ã·|¶Ç¦^²Å¦XªºDateÈ¡C³oÓÄݩʪº°ÝÃD¬O¤£®e©öª¾¹D±±¨î¶µ¤¤¦³¦h¤Ö¤Ñ¼Æ¥i¨£¥H¤Î¦óªÌ¬O¯Á¤Þªº³Ì¤jÈ¡CVisual Basic¤å¥ó¿ù»~¦a»¡©ú¯Á¤ÞÈ¥²©w¦b1¨ì42¤§¤¤¡A«o¨S¦Ò¼{¨ìMonthView±±¨î¶µÅã¥Ü¦h«¤ë¥÷ªº¯à¤O¡C³Ì²³æªº¸Ñ¨M¤èªk´N¬O«Ø¥ß¤@Ó¿ù»~ªº³B²z¾÷¨î¡A¦p¦P¤U±ªº±Ôz¡G
Dim tmpDate As Date ' Exit the loop when the index isn't valid any longer. On Error GoTo EndTheLoop For i = 1 To 366 ' Visit each day. tmpDate = MonthView1.VisibleDays(i) Next EndTheLoop: ' Get here when the index becomes invalid.
VisibleDaysÄݩʶǦ^³¡¤À¤é´Áµ¥©ó²{¦b¨t²Î®É¶¡ªºDateÈ¡C·í±zn¤ñ¸û¶Ç¦^ªº®É¶¡È¬O¤é´Á±`¼Æ©ÎÅܼƮɡA¦¹«D¥¿¦¡ªº¤èªkÆZ¦³¥Îªº¡C
DayBoldÄݩʥH¤@Ó¤é´Á¬°°Ñ¼Æ¡A¨äÃö³s¨ì¤@Ó¥iµøªº¤é¤l¨Ã¥B¥i¥H³]©w©Î¶Ç¦^¸Ó¤é¤lªº²ÊÅéÄݩʡC³oÓÄݩʥi¥H¥Î¨Ó¦P®É³]©w³\¦h¤é¤l¡A§Y¨Ï¨Ã¥¼³B²zGetDayBold¨Æ¥ó¡C¤@¯ë·|¨Ï¥ÎDayBoldÄݩʷf°tVisibleDaysÄݩʡA¦p¦P¤U±ªºµ{¦¡¡G
Private Sub cmdMark_Click() Dim i As Integer On Error GoTo EndOfLoop For i = 1 To 999 ' Mark all Fridays. If Weekday(MonthView1.VisibleDays(i)) = vbFriday Then MonthView1.DayBold(MonthView1.VisibleDays(i)) = True End If Next EndOfLoop: End Sub
¹ê§@©ì¦²
¡@
MonthView±±¨î¶µ¥i¥H¬O©ì¦²ªº¨Ó·½¡A¦]¬°¥¦¤¹³\±z³z¹L¦¹¾÷¨î¡A½Æ»s¤é´Á¨ì¥ô¦ó¥i±µ¨ü¦r¦êªº±±¨î¶µ¡C¥¿½T©ì¦²¹ê§@ªºÃöÁä¬OHitTest¤èªk¡A¨ä»yªk¦p¤U¡G
Area = MonthView1.HitTest(X, Y, HitDate)
Area¬OӼƦr¡A«ü¦V±±¨î¶µ¤¤x»Py®y¼Ð©ÒÃö³sªº¬Y°Ï°ì¡C¡]Ãö©ó©Ò¦³¥i¯àªº¶Ç¦^È¡A½Ð°Ñ¾\Visual Basic¤å¥ó©ÎÀH®Ñ¥úºÐ©Òªþªºµ{¦¡ì©l½X¡^¡C·í¨ç¦¡¶Ç¦^4-mvwCalendarDay®É¡AHitDateÅܼÆÈ·|¬O¤ë¾ä¤¤x©My®y¼Ð©Ò«ü¦Vªº¤é´Á¡CÂǥѳoÓ¤èªk¡A±N·|µo²{«Ü®e©ö¹ê§@¤@Ó¦³®Ä²vªº©ì¦²µ{§Ç¡C¤Uz½d¨Òµ{¦¡µ²ªG¦p¹Ï11-6¡G
' Start a drag-and-drop operation. Private Sub MonthView1_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) ' Exit if the right button isn't clicked. If Button <> vbRightButton Then Exit Sub ' Exit if mouse isn't over a valid date. If MonthView1.HitTest(X, Y, DraggedDate) <> mvwCalendarDay Then Exit Sub End If ' Now DraggedDate contains the date to be dragged, ' and we can start the drag operation. MonthView1.OLEDrag End Sub Private Sub MonthView1_OLEStartDrag(Data As MSComCtl2.DataObject, _ AllowedEffects As Long) ' When this event fires, DraggedDate contains a valid date. Data.SetData Format(DraggedDate, "long date") AllowedEffects = vbDropEffectCopy End Sub
¤Wzªºµ{¦¡°²©w³Q·Æ¹««öÁä©ñ¶}ªº±±¨î¶µOLEDropModeÄݩʬ°2-Automatic¡C
DateTimePicker±±¨î¶µ
¡@
DateTimePicker±±¨î¶µ¬O°w¹ï¤é´Á©M®É¶¡³]pªº¤å¦r¤è¶ô¡C³oÓ¤å¥ó¤è¶ô¥i¥H²Ó¤À¬°´XÓ¤p°Ï°ì¡A¨CÓ³£¬O¿W¦Ûªº³¡¤À¡]¤é¡B¤ë¡B¦~¡B®É¡B¤À©M¬í¡^¡C³oÓ±±¨î¶µ¤ä´©©Ò¦³±`¥Îªº¤é´Á©M®É¶¡®æ¦¡¡]¥]¬A¦Ûqªº®æ¦¡¡^©M¶Ç¦^NullȪº¯à¤O¡]¦pªG¨Ï¥ÎªÌ¨S¦³¿ï¾Ü¤é´Á¡^¡A¬Æ¦Ü¥i¥H©w¸q¦Ûqªº°Ï°ì¡C
¦b°õ¦æ®É¡A¨Ï¥ÎªÌ¥i¥H¥Î¥ª¥k½bÀY¨Ó¤Á´«°Ï°ì¡A¨Ã¥B¥i¥Î¤W¤U½bÀY¼W¥[©M´î¤Ö¥¦ÌªºÈ¡CÁÙ¥i¥HÅã¥Ü¤U©Ô¦¡ªº¤é¾ä¡]¦pªGUpDownÄݩʬ°False¡^©Î¨Ï¥ÎªþÄݪº±Û¶s×§ï¿ï¨ú³¡¤ÀªºÈ¡]YUpDownȬ°True®É¡^¡C
³]©w³]p¶¥¬qÄÝ©Ê
¡@
¹w³]±¡§Î¤U¡A¤@Ó¦V¤Uªº½bÀY·|¦b±±¨î¶µªº¥k¤è¡A¦p¦P¼Ð·ÇªºComboBox±±¨î¶µ¡GÂI¿ï½bÀY·|¥X²{¤@Ó¤é¾ä¡A¥iÅý¨Ï¥ÎªÌ¿ï¾Ü¤é´Á¦Ó¤£¥ÎºV¥ô¦óÁä¡C¦pªG±NUpDownÄݩʳ]¬°True¡A¦V¤U½bÀY·|³Q¤@¹ï±Û¶s¨ú¥N¡A¦Ó¥u¯àÅý¨Ï¥ÎªÌ¥Î·Æ¹«¨Ó¼W¥[©Î´î¤Ö¿W¥ß°Ï°ìªºÈ¡C
CheckBoxÄÝ©ÊY¬°True¡A¦b±±¨î¶µ¥ª¤è·|Åã¥Ü¤@Ó®Ö¿ï¤è¶ô¡G¦pªG¨Ï¥ÎªÌ¤£·Q¿ï¾Ü¥ô¦ó¤é´Á¡A¥i¥H¨ú®ø¸Ó¤è¶ô¡C¡]°Ñ¦Ò
¹Ï11-7 ¡^DateTimePicker±±¨î¶µ¦³¨ÇÄݩʻPMonthView±±¨î¶µ¬Û¦P¡A¨Ò¦p¡A¥¦¥]§tValueÄݩʡA¯à¶Ç¦^¨Ï¥ÎªÌ¿é¤Jªº¤é´Á¡A¦ÓMinDate©MMaxDateÄݩʩw¸q¤é´Áªº½d³ò¡C
¤U©Ôªº¤ë¾ä¨ä¹ê´N¬OMonthView±±¨î¶µ¡A¥u¬O¦¹MonthView¤@¦¸¥u¯àÅã¥Ü¤@Ó¤ë¡C©Ò¥HDateTimePicker±±¨î¶µ¤]¥]§tMonthView±±¨î¶µªº©Ò¦³ÃC¦âÄݩʡA¥u¤£¹L¦b¦¹¨CÓÄݩʪº¦WºÙ³£§ïÅܤF¡G CalendarForeColor¡BCalendarBackColor¡BCalendarTitleForeColor¡BCalendarTitleBackColor©MCalendarTrailingForeColor¡C¥t¥~¡A±±¨î¶µ¨S¦³Åã¥Ü¼Ð·ÇªºForeColor©MBackColorÄݩʡA¦]¦¹ÁöµM§ó§ï¤U©Ô¦¡¿ï³æªº¥~»ª¡A«oµLªk¥Hµ{¦¡¨Ó§ïÅܱ±¨î¶µ½s¿è°Ïªº¹w³]ÃC¦â¡I
FormatÄݩʼvÅT¦b±±¨î¶µÅã¥Üªº¸ê®Æ¡A¨ä¥i¬°¤UzȤ§¤@¡G0-dtpLongDate¡B1-dtpShortDate¡B2-dtpTime©Î3-dtpCustom¡C¦pªG¿ï¾Ü¦Ûqªº®æ¦¡¡A«h¥i¥H«ü©w¾A·íªº¦r¦êµ¹CustomFormatÄݩʡA¦¹Äݩʱµ¨ü»PFormat¨ç¼Æ¬Û¦Pªº®æ¦¡¤Æ¦r¦ê¨ÓÅã¥Ü¤é´Á©Î®É¶¡¸ê®Æ¡C¦p¤U¡G
'Date is' dddd MMM d, yyy
¤Wzµ{¦¡ªºÅã¥Üµ²ªG¦p¤U¡G
Date is Friday Nov 5, 1999
¦p±z©Ò¨£¡A¥i¥H¥]§t¤å¦r¦r¦ê¡A¥un¥Î³æ¤Þ¸¹¬A°_¨Ó§Y¥i¡C¦ÓCustomFormatÄݩʤ]¥i¥H³Q¥Î¨Ó«Ø¥ß¦Ûqªº°Ï°ì¡C
¹Ï11-7 DateTimePicker±±¨î¶µªº¤£¦P§Î¦¡¡C |
DateTimePicker±±¨î¶µ¯à³sµ²¨ì¬Y¸ê®Æ¨Ó·½¡A©Ò¥H¥¦ÁÙ¦³DataSource¡BDataMember¡BDataField©MDataFormatµ¥ÄݩʡC·í±±¨î¶µ³sµ²¨ì¼Ð·Ç¸ê®Æ©ÎRemoteData±±¨î¶µ®É¡A¨Ã¤£¤ä´©DataFormatÄݩʡF¦ý¦b¨ä¥L¤è±¡A¥i¥H¨Ï¥ÎFormat©MCustomFormatÄÝ©Ê×§ïÅã¥ÜȪº®æ¦¡¡C
°õ¦æ¶¥¬qªº¹B§@
¡@
°õ¦æ®É¡A¥iÂÇ¥ÑValueÄݩʩÎYear¡BMonth¡BDay¡BDayOfWeek¡BHour¡BMinute©MSecondÄݩʨӳ]©w©M¨ú±oDateTimePickerªº¤º®e¡C¨Ò¦p¡A¥i¥H¥Îµ{¦¡¨Ó¼W¥[DateTimePicker±±¨î¶µ¤¤¬Y¤é´Áªº¤ë¥÷¡Aµ{¦¡¦p¤U¡G
DTPicker1.Month = (DTPicker1.Month Mod 12) + 1 If DTPicker1.Month = 1 Then DTPicker1.Year = DTPicker1.Year + 1
¦pªGCheckBox¬°True¥B¨Ï¥ÎªÌ¤w¨ú®ø¿ï¨ú¤è¶ô¡A©Ò¦³¬ÛÃöªº¤é´ÁÄݩʷ|¶Ç¦^Null¡C
DateTimePicker±±¨î¶µ²[»\³\¦h¼Ð·ÇTextBox±±¨î¶µ©Ò¤ä´©ªº¨Æ¥ó¡A¥]¬AChange¡BKeyDown¡BKeyPress¡BKeyUp¡BMouseDown¡BMouseMove¡BMouseUp¡BClick©MDblClick¡C©Ò¦³ªºÁä½L»P·Æ¹«¨Æ¥ó³£¥u¸ò±±¨î¶µªº½s¿è°Ï¦³Ãö¡A©Ò¥H·í¤ë¾ä³Q©Ô¥X®É¡A¨Ã¤£·|¤Þµo³o¨Ç¨Æ¥ó¡C
·í¨Ï¥ÎªÌÂI¿ï¦V¤U½bÀY®É¡ADropDown¨Æ¥ó·|¦b¤U©Ô¦¡¤ë¾äÅã¥Ü«e¤Þµo—³oªí¥ÜUpDownÄݩʬ°False¡]¹w³]È¡^¡C·í¨Ï¥ÎªÌ¿ï¾Ü¤U©Ô¦¡¤é¾äªº¤é´Á®É¡ACloseUp¨Æ¥ó±N·|¤Þµo¡C¤£¹L³o¨Ç¨Æ¥ó¨Ã¨S¤°»ò¥Î³B¡A¦]¬°°£¤F¤é¾ä¥~¡A´X¥G¨S¤°»ò±±¨î¶µ¥i¥H®³¨Ó¨Ï¥Î¡A·íµM§ïÅÜÃC¦â¤]¥i¥H¡C·í¨Ï¥ÎªÌ¿ï¾Ü¤U©Ô¦¡¤é¾äªº¤é´Á¡AChange¨Æ¥ó·|¦bCloseUp¨Æ¥ó«e¤Þµo¡C
ª`·N
DateTimePicker±±¨î¶µ¦³Ó¿ù»~¡A¨º´N¬O¦b°õ¦æ®ÉµLªk¦P®É«ü©wȵ¹MinDate©MMaxDateÄݩʡC·í«ü©w¨ä¤¤ªº¬YÓÄÝ©ÊȮɡA¥t¤@Ó·|³Q³]©w¬°12/31/1999¡C³o©_¯S¦æ¬°ªºì¦]©M¥i¯à¸Ñ¨Mªº¤èªk½Ð°Ñ¾\Microsoft Knowledge BaseªºQ198880¤@¤å¡C
ºÞ²zcallbackÄæ¦ì
¡@
DateTimePicker³Ì¸Þ²§ªº¯S¦â¬O¨ã¦³©w¸q¦Ûq°Ï°ìªº¯à¤O¡A¤]¥s°µcallbackÄæ¦ì¡C¬°¤F©w¸qcallbackÄæ¦ì¡A¶·¨Ï¥Î¥Ñ¤@Ó¥H¤WªºX¦r¤¸©Òºc¦¨ªº¦r¦ê¡A±N¤§«ü©wµ¹CustomFormatÄݩʡC¥i¥H©w¸q¦hÓcallbackÄæ¦ì¡A¥unÂǥѨϥΤ£¦PÓX¼Æ¥Øªº¦r¦ê¡CÁ|Ó¨Ò¤l¡A¤Uz©w¸q¤@Ó¤é´ÁÄæ¦ì¡A¦³¨âÓcallbackÄæ¦ì¡G
DTPicker1.CustomFormat = "MMM d, yyy '(week 'XX')' XXX"
¦b¤U±µ{¦¡¸Ì¡AXX°Ï³Q©w¸q¬°±q¤@¤ë1¸¹°_ªº¶g¼Æ¡A¦ÓXXX°Ï«h¬O°²¤éªº¦WºÙ¡]¦pªG¸Ó¤é¬O°²¤éªº¸Ü¡^¡C
·í©w¸qcallbackÄæ¦ì«á¡AÁÙ¥²¶·©w¸q¥¦ªº³Ì¤jªø«×¡B¥Ø«eÈ©M¥¦ªº¹B§@¡]³o¬O·í³oÓÄæ¦ì¨ú±o¿é¤JµJÂI®É¡A«ö¤U«öÁä·|²£¥Íªº¤ÏÀ³¡^¡C¦bFormatSize¨Æ¥ó¤¤¨M©wcallbackÄæ¦ìªº³Ì¤jªø«×¡A¦Ó¦¹¨Æ¥ó·|¦]¨CÓcallbackÄæ¦ì¦Ó¤Þµo¡C¦pªG¦³¦hӰϰì¡A´N¥²¶·¨Ï¥ÎSelect Caseµ²ºc¡A¦p¤U±ªºµ{¦¡¡G
Private Sub DTPicker1_FormatSize(ByVal CallbackField As String, _ Size As Integer) Select Case CallbackField Case "XX" ' The number of weeks since January 1st (max 2 digits) Size = 2 Case "XXX" ' The name of a holiday, if any Size = 16 End Select End Sub
·íDateTimePicker±±¨î¶µnÅã¥Ü¤é´Á®É¡A¨CÓcallbackÄæ¦ì¬Ò·|¤ÞµoFormat¨Æ¥ó¡CÂÇ¥ÑFormattedStringÄݩʥi¶Ç¦^callbackÄæ¦ìÈ¡G
Private Sub DTPicker1_Format(ByVal CallbackField As String, _ FormattedString As String) Select Case CallbackField Case "XX" ' The number of weeks since January 1st (max 2 digits) FormattedString = DateDiff("ww", _ DateSerial(DTPicker1.Year, 1, 1), DTPicker1.Value) Case "XXX" ' The name of a holiday, if any If DTPicker1.Month = 12 And DTPicker1.Day = 25 Then FormattedString = "Christmas" Else ' Deal here with other holidays. End If End Select End Sub
·ícallbackÄæ¦ì¨ú±o¿é¤JµJÂI®É¡A¥iÂǥѦbCallbackkeyDown¨Æ¥ó¨ç¼Æ¤¤¼¶¼gµ{¦¡¨Ó³B²z©Ò¦³ªº«öÁä³B²z¡C³oӨƥ󱵦¬«öÁ䪺¸ê°T¡BshiftÁ䪺ª¬ºA¡A©McallbackÄæ¦ìªº¦WºÙ¡C¤@¯ë¦Ó¨¥¡A·|Âǥѫü©w¤@Ó·s¤é´Áµ¹CallbackDate°Ñ¼Æ¨Ó³B²z«öÁä¡G
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, _ ByVal Shift As Integer, ByVal CallbackField As String, _ CallbackDate As Date) If CallbackField = "XX" Then ' Move to the previous/next week when the Up/Down key is pressed. If KeyCode = vbKeyUp Then CallbackDate = DTPicker1.Value + 7 ElseIf KeyCode = vbKeyDown Then CallbackDate = DTPicker1.Value - 7 End If Else ' No keyboard support for the Holiday field End If End Sub
CoolBar±±¨î¶µ
¡@
CoolBar±±¨î¶µ¦]¬°Microsoft Internet Explorer¦Ó¼s¬°¤Hª¾¡A¥Ñ¯à¦¬¯Ç¨ä¥L±±¨î¶µªºband¶°¦X©Ò²Õ¦¨¡Aband¥i¦¬¯ÇªºªF¦è¥]¬A¯B°ÊToolbar¡BTextBox©MComboBox±±¨î¶µµ¥¡C¨Ï¥ÎªÌ¯à¦b°õ¦æ®É¨Ï¥Î·Æ¹«½Õ¾ã©M²¾°Êbandªº¤j¤p¡AÁÙ¯à§ïÅܨ䶶§Ç¡C¦bÂùÀ»bandªº¤À¹j½u¤§«á¡A·|¾¨¥i¯àªº®i¶}band©ó¨ä©ÒÄݪº¦C¤W¡C
CoolBar±±¨î¶µ¥]§tBand¶°¦X¡A¨ä¥]§t¤@Ó¥H¤WªºBandª«¥ó¡C¨C¤@ÓBandª«¥ó¥u¯à®e¯Ç¤@Ó±±¨î¶µ¡A·í¨Ï¥ÎªÌ²¾°Ê©Î½Õ¾ãBand®e¾¹¤j¤p®É¡A©Ò®e¯Çªº±±¨î¶µ¤]·|¦Û°Ê²¾°Ê©M½Õ¾ã¤j¤p¡C¤£¯àÅýµLµøµ¡ªº±±¨î¶µ¦¨¬°Bandª«¥óªº¤l±±¨î¶µ¡A¦ý¥i¥H±NµLµøµ¡±±¨î¶µ©ñ¦b¥t¤@Ó®e¾¹±±¨î¶µ¤¤—¨Ò¦pPictureBox±±¨î¶µ—¨ÃÅý«áªÌ¦¨¬°Bandª«¥óªº¤l±±¨î¶µ¡C¦P¼Ë¦a¡A¤£¯à¦b¨CÓBandª«¥ó¤¤¾Ö¦³¤@Ó¥H¤Wªº¤l±±¨î¶µ¡A¦ý¥i¥H¦bBandª«¥óªº¤lPictureBox¤¤©ñ¸m¦hÓ±±¨î¶µ¡C¡]¦b³oºØ±¡ªp¤U¡A¥²¶·¦bPicutreBoxªºResize¨Æ¥ó¨ç¼Æ¤¤¼¶¼g½Õ¾ã±±¨î¶µ¤j¤pªºµ{¦¡¡C¡^
CoolBar±±¨î¶µ¬O°ß¤@¥]§t¦bComCt332.ocxÀɮתº±±¨î¶µ¡CVisual Basic 6¬O²Ä¤@Ó¥]§t¦¹±±¨î¶µªºª©¥»¡A¤£¹LVisual Basic 5ªº³]pªÌ¥i¥H±qMicrosoftºô¯¸¤U¸ü¨Ï¥Î¦¹±±¨î¶µ¡C
³]©w³]p¶¥¬qÄÝ©Ê
¡@
CoolBar±±¨î¶µ¬O½ÆÂøªº¡A¦Ó¥B¥]§t³\¦h³]p¶¥¬qªºÄݩʡA±z¥i¯à»Ýn®É¶¡¤~¯à¼ô±x¡C
¤@¯ëÄÝ©Ê
¡@
©ñ¸mCoolBar±±¨î¶µ©óªí³æ¤§«á¡Aº¥ý±N¥¦¹ï»ô¨ìªí³æªºÃä½t¡C©ó¤@¯ëÄݩʵøµ¡¤¤¡A³]©wAlignÄݩʬ°1-vbAlignTop«K¯à¹F¦¨¡A¦Ó©Ò¦³ªº³]p¶¥¬qÄݩʳ£¯à¦bÄݩʶ¤¤°µ×§ï¡C
OrientationÄݩʨM©w±±¨î¶µªº¤è¦V¡A¨äÈ¥i¥H¬°0-cc3OrientationHorizonal¡]¹w³]È¡^©Î1-cc3OrientationVertical¡CY¤£·QÅý¨CÓBandªºÃä½t¦³¤ô¥½uªº¸Ü¡A¥i¥H±NBandBorderÄݩʳ]¬°False¡A¦ý¤@¯ë·|³]¬°True¡C
¨Ï¥ÎªÌ¯à°÷¦b°õ¦æ®É²¾°Ê©Î©ì¦²¥¦ªº³Ì¥ª¤èÃä½t½u¨Ó½Õ¾ãBandª«¥óªº¤j¤p¡A¦pªG³]FixedOrderÄݩʬ°True¡A«h«OÃҨϥΪ̵Lªk§ïÅÜBandª«¥óªº¶¶§Ç¡CVariantHeight¥¬ªLÄݩʨM©wBandª«¥ó¯à§_¦³¤£¦Pªº°ª«×¡G¦pªG¬°True¡]¹w³]È¡^¡A«h¨C¦C°ª«×¥Ñ¸Ó¦CBandª«¥ó¤§MinHeightÄݩʪº³Ì¤jȨM©w¡F¦pªG¬°False¡Aªí¥Ü©Ò¦³ªº¦C³£¦P°ª¡A¦]¦¹°ª«×¥ÑCoolBar±±¨î¶µ¤º©Ò¦³Bandª«¥óªºMinHeightÄݩʳ̤jȨM©w¡C
Bandª«¥ó
¡@
¹w³]±¡ªp¤U¡ACoolBar±±¨î¶µ¦³¤TÓBandª«¥ó¡A¦ý¥i¥H¦bÄݩʶªºBands¶ÅÒ¤¤¼W¥[©Î²¾°£Bandª«¥ó¡A¦p¹Ï11-8©Ò¥Ü¡C¨C¤@ÓBand³£¯à½Õ¾ã¤j¤p¡]¦pªGStyleÄݩʬ°0cc3BandNormal¡^©Î¤£¯à¡]¦pªGStyle¬°1cc3BandFixedSize¡^¡C©T©w¼e«×«áªºBand¤£·|Åã¥Ü³Ì¥ª¤è½Õ¾ã¤j¤pªº§â¤â¡C
Bandª«¥ó¥iÅã¥Ü¦r¦ê¡]CaptionÄݩʡ^¡F¦Ó¥B¥¦¦³ªì©lªº¼e«×¡]WidthÄݩʡ^¡A³Ì¤p¼e«×¡]MinWidthÄݩʡ^©M³Ì¤p°ª«×¡]MinHeightÄݩʡ^¡C¥¦¤]¥]§tKeyÄݩʡA¥i¥HÅý±z±qBands¶°¦X¤¤§ä¨ì¬YÓBandª«¥ó¡AÁÙ¦³TagÄݩʡA¥i¥Î¨ÓÀx¦s»PBand¥»¨¦³Ãöªº¥ô¦ó¸ê°T¡C
¡@
¹Ï11-8 CoolBar±±¨î¶µÄݩʶªºBands¶ÅÒ¡Cª`·NI´º¹Ï¤ù»P¨ä¤lToolbar·f°t¤W¦³°ÝÃD¡C |
Bandª«¥ó³Ì«nªºÄݩʬOChild¡A¨ä«ü¦V¦b¯S©wBand¤¤ªº¤l±±¨î¶µ¡Cn²¾°Ê±±¨î¶µ¨ìBandª«¥ó¤º¡Aº¥ý¥²¶·Åý±±¨î¶µ¦¨¬°CoolBarªº¤l±±¨î¶µ¡C³Ì²³æªº¤èªk¬O±qCoolBar±±¨î¶µ«Ø¥ßToolbox¡A¤§«á¡A·|¦b±±¨î¶µ¦Cªí¤¤¡]¥i¦¨¬°Bandªº¤lª«¥ó¡^§ä¨ì¦¹±±¨î¶µ¦WºÙ¡C
¹w³]±¡ªp¤U¡A¾Ö¦³Bandsªº¥i¥]§t³\¦hBand¡A¦Ó¨CÓBandª«¥óªº¦ì¸m¥ÑBandsªº¶¶§Ç©M¥¦Ìªº³Ì¤p¼e«×¨M©w¡Cn§ïÅÜBandªº¦ì¸m¡A¥i¥H³]NewRowÄݩʬ°False¨Ó§âBand²¾¨ì¤U¤@¦Cªº°_©l¦ì¸m¡C³Ì«á·íCoolBar±±¨î¶µ§ïÅÜ¥¦ªº¤è¦V¬°cc3OrientationVertical¡A¥i¥H³]AllowVerticalÄݩʬ°False¨Ï±oBand¬Ý¤£¨£¡C
¹Ï¹³©MÃC¦âºÞ²z
¡@
CoolBar±±¨î¶µ¤ä´©ÃC¦â©M¹Ï¤ùªº¶i¶¥ºÞ²z¡C¦pªGPictureÄݩʨS¦³Èªº¸Ü¡A±±¨î¶µªºÃC¦â·|¥Ñ¼Ð·ÇªºForeColor©MBackColorÄݩʨM©w¡C¦pªG«ü©w¤@ÓÂI°}¹Ïµ¹CoolBarªºPictureÄݩʮɡA³oӹϹ³©ñ¤j¦Ü©Ò¦³±±¨î¶µ¤ºªºBands¡A¥BBackColorÄݩʷ|³Q©¿µø¡C
¬°¤FÅý³]pªÌ«Ø¥ß»PMicrosoft Internet Explorer¬Û¦Pªº¨Ï¥ÎªÌ¤¶±¡ACoolBar±±¨î¶µÁÙ¥]§t¤TÓªþ¥[ªºÄݩʡCEmbossPicture¥¬ªLÄݩʨM©w¹Ï¹³¬O§_³Q¤À¦¨¨âºØÃC¦â¡F¦pªGÄÝ©ÊȬ°True¡A¨ä¥Y°_ªºÃC¦â±N¥ÑEmbossHighlight©MEmbossShadowÄݩʨM©w¡CCoolBar±±¨î¶µ¨Ï¥Îditheringºtºâªk¨Ó¨M©wì©l¹Ï¹³ªºþ¨ÇÃC¦âÀ³¸ÓÅÜ«G©ÎÅÜ·t¡C
¹w³]±¡ªp¤U¡A©Ò¦³ªºBandª«¥ó·|Ä~©Ó¤÷CoolBar±±¨î¶µ©Ò³]ªº¹Ï¤ù¡A¦Ó³o¨Ç¹Ï¤ù·|¨Ã¦CÅã¥Ü©ó©Ò¦³ªºBands¡AµL½×Bands³Q½Õ¾ã¤j¤p©Î²¾°Ê¡C³]©wBandª«¥óªºFixedBackgroundÄݩʬ°False¡A·|³y¦¨¹Ï¤ù¤j¤p©T©w¡A§Y¨Ï¯S©wªºBand³Q²¾°Ê©Î§ïÅܤj¤p®É¥çµM¡C
¥t¤@¤è±¡AÂǥѳ]©wUseCoolBarPictureÄݩʬ°False©M«ü©w¦XªkªºÈµ¹PictureÄݩʡA¥i³]©w©Ò¦³©Î³¡¤ÀBandª«¥ó¡F¤]¥i¥HÂǥѳ]©w¨ü¼vÅTBandsªºEmbossProperty¬°True©M«ü©w¾A¦XªºÈµ¹EmbossHighlight©MEmbossShadowÄݩʨӨϹϤù¥Y°_¡A¦p¦P¥DCoolBar±±¨î¶µªº°µªk¯ë¡C
Bandª«¥ó¤]Ä~©Ó¤÷CoolBarªºÃC¦âÄݩʡA°£«D³]©wBandªºUseCoolBarColors¬°False¡C¦pªG³o¼Ë°µªº¸Ü¡A¥iÂǥѳ]©wForeColor©MBackColorÄݩʨӿï¾Ü¥Î¦b¬Y¯S©wBandªºÃC¦â¡C¡]¦ý«áªÌ¥u¦³¦bBand¨S¦³Åã¥Ü¹Ï¤ù®É¡A¤~·|¯u¥¿³Q¨Ï¥Î¡C¡^
«Ü·N¥~¦a¡AµL½×CoolBar±±¨î¶µ©ÎBand±±¨î¶µ³£¨S¦³FontÄݩʡA©Ò¥HBandªº¼ÐÃD¥~»ª§¹¥þ¨ú¨M©ó¨t²Î³]©w¡A°£¤F¨ä¤å¦rÃC¦â¥~¡]³o¥i³QForeColorÄݩʩҼvÅT¡^¡CYn¹ï¤å¦r¯S©Ê¦³¸û¤jªº±±¨î¡A¥i¥H¨Ï¥ÎLabel±±¨î¶µ¨Ã±N¨ä©ñ¸m¦bPictureBox±±¨î¶µ¤º¡AµM«á±N¦¹±±¨î¶µ§@¬°CoolBarªº¤l±±¨î¶µ¡C¡]°O¦íLabel±±¨î¶µ©M¨ä¥L»´¶qªº±±¨î¶µ¤£¯à¬°Bandª«¥óªº¤l±±¨î¶µ¡C¡^
°õ¦æ¶¥¬qªº¹B§@
¡@
¦b¤j³¡¤Àªº°õ¦æ¶¥¬q¤U¡AµL¶·³B²zCoolBar±±¨î¶µ¡GCoolBarª¾¹D·í¨Ï¥ÎªÌ²¾°Ê¥¦Ì¨ì¥t¤@¦C®É¡An¦p¦ó½Õ¾ãBands¤j¤p¡A¥H¤Î¦p¦ó½Õ¾ã¦b¨CÓBand¤ºªº¤l±±¨î¶µ¡CµM¦Ó¦b¤Ö¼Æ¯S©w±¡ªp¤U¡AÁÙ¬O»Ýn¥Îµ{¦¡¨Ó¤â°Ê³B²zCoolBar±±¨î¶µ¡C
³B²zResize¨Æ¥ó
¡@
·í¨Ï¥ÎªÌ¦b°õ¦æ®É²¾°ÊBandª«¥ó¡A¦Ó¦]¬°¦¹°Ê§@³y¦¨Band¦C³Q«Ø¥ß©Î®ø°£®É¡ACoolBar±±¨î¶µ·|¤ÞµoResize¨Æ¥ó¡C¦pªG·Qn«·s±Æ¦Cªí³æ¤W¨ä¥L±±¨î¶µªº¦ì¸m©ÎÁôÂá]Åã¥Ü¡^Bandª«¥ó¡A¥iµ½¥Î¦¹¨Æ¥ó¡C
¦ý¦³®É±z¤£À³¸Ó¦bResize¨Æ¥ó¤¤¼gµ{¦¡¡A¨Ò¦p¡A°²YCoolBar±±¨î¶µ¥»¨¥]§t¦b¨ä¥L±±¨î¶µ¤º¡A«hCoolBarªºHeightÄݩʥi¯à¶Ç¦^¿ù»~ªºÈ¡A©ÎResize¨Æ¥ó¥i¯à¤£·|³Q¤Þµo¡C°ò©ó¦¹¡A§ó¦nªº¤èªk¬O±Nµ{¦¡¼¶¼g¦bHeightChanged¨Æ¥ó¨ç¼Æ¤¤¡C·í¤ô¥CoolBarªºHeightÄݩʩΫ«ª½CoolBarªºWidthÄݩʳQ×§ï®É·|¤Þµo¦¹¨Æ¥ó¡C
Yªí³æ¥]§t¨ä¥Lªº±±¨î¶µ¡A«h¹ï³o¨Ç¨Æ¥ó°µ¥X¤ÏÀ³¬O«nªº¡C°£«D¨Æ¥ý¹w¨¾¡A§_«h·íCoolBarÅܰª®É¡A¨ä¥L¦bªí³æ¤Wªº±±¨î¶µ¥i¯à·|³QÂл\¡C¦]¦¹¡A¥i¯à§â©Ò¦³¨ä¥Lªº±±¨î¶µ¥þ©ñ¦b¬YÓ®e¾¹±±¨î¶µ¦pPictureBox¡A¦p¦¹¤@¨Ó¥un²¾°Ê³oÓ®e¾¹§Y¥i¡C¦pªG±Ä¥Î³oºØ¤èªk¡A¤]À³¸Ó¦bªí³æªºResize©MPictureBoxªºResize¨Æ¥ó¨ç¼Æ¤¤¼¶¼gµ{¦¡¡C¤U¦Cµ{¦¡¤ù¬q¡]¦p¹Ï11-9©Ò¥Ü¡A§¹¾ãµ{¦¡ªþ¦bÀH®Ñ¥úºÐ¤¤¡^»¡©ú³oӸѨM¤èªk¡G
' Resize the PictureBox when the form resizes. Private Sub Form_Resize() Picture1.Move 0, CoolBar1.Height, ScaleWidth, _ ScaleHeight - CoolBar1.Height End Sub ' Resize and move the PictureBox when the CoolBar's height changes. Private Sub CoolBar1_HeightChanged(ByVal NewHeight As Single) ' Assumes this CoolBar is aligned to the form's top border Picture1.Move 0, NewHeight, ScaleWidth, ScaleHeight - NewHeight End Sub ' Resize the controls inside the PictureBox when the latter is resized. Private Sub Picture1_Resize() Label1.Move 0, 0, Picture1.ScaleWidth, Label1.Height Text1.Move 0, Label1.Height, Picture1.ScaleWidth, _ Picture1.ScaleHeight - Label1.Height End Sub
¹Ï11-9 ®i¥Üµ{¦¡Åã¥Ü¦p¦ó³B²z¥iÅܰʪºCoolBar±±¨î¶µ¡C |
¼W¥[Bandª«¥ó
¡@
¦³®É¥i¯à»Ýn¦b°õ¦æ®É¥Îµ{¦¡¨Ó¼W¥[Bandª«¥ó¡A±z¥i¥H¨Ï¥ÎBand¶°¦XªºAdd¤è¦¡¨Ó°µ¨ì¡A¦p¤U¦C»yªk¡G
Add([Index],[Key],[Caption],[Image],[NewRow],[Child],[Visible]) As Band
¨CӰѼƼvÅT¦P¼Ë¦WºÙªºBandÄݩʡAChildÄݩʷ|Ä~©ÓBand¤¤ªº±±¨î¶µ¡C·í¨Ï¥Î³oÓ§Þ¥©«Ø¥ßBandª«¥ó®É¡A¥i¯à»Ýn°ÊºA¦a«Ø¥ß¤l±±¨î¶µ¡C¦b¦¹±¡ªp¤U¡A«ü©w¥¦¦¨¬°Bandª«¥óªºChildÄݩʫe¡AÀ³¥ýnÅý¥¦¦¨¬°CoolBar±±¨î¶µªº¤l±±¨î¶µ¡G
' Create a new ComboBox control. Dim cb As ComboBox Set cb = Controls.Add("VB.ComboBox", "NewCombo") ' Make it a child of the CoolBar1 control. Set cb.Container = CoolBar1 ' Create a new Band object, assigning the ComboBox to its ' Child property. CoolBar1.Bands.Add , "NewBand" , cb.Name, , , cb
¥i¥H¨Ï¥ÎBands¶°¦XªºRemove¤è¦¡¨Ó²¾°£Bandª«¥ó¡G
' Remove the Band object created with the previous code snippet. CoolBar1.Bands.Remove "NewBand"
¨Ï¥ÎToolbar±±¨î¶µ§@¬°¤l±±¨î¶µ
¡@
·í¨Ï¥Î¹Ï¤ù§@¬°CoolBar±±¨î¶µªºI´º¹Ï®É¡Anª`·N¬Y¨ÇÃþ«¬ªº¤l±±¨î¶µ¨Ã¤£¯à°t¦X±o«Ü¦n¡A¤×¨ä¬OToolbar±±¨î¶µ¡C¨Æ¹ê¤W¡A¦bToolbar±±¨î¶µ¤º¡AI´º¹Ï¨Ã¤£·|Åã²{¡A¤Ï¦Ó³y¦¨¤£¦nªºµ²ªG¡]¨£ ¹Ï11-9 ¡^¡C©¯¹B¦a¡A¦³Ó¸Ñ¨M¿ìªk¡A¤£¹L¥¦¥i¯à¨S±z·Q¹³¤¤ªºÂ²³æ¡C
µ§ªÌ§ä¨ìªº¸Ñ¨M¤èªk¬O¬[ºc¦b¤@Óµ§ªÌ¼gªºÀɮפW¡A¦¹ÀÉ®×¥i¥H¦bMicrosoftºô¯¸ªºVisual Studio Owner°ÏªºCoolBar Sample±M®×¤¤§ä¨ì¡C³oÓ½d¨Ò±M®×»¡©ú¦p¦ó¦bCoolBar±±¨î¶µ¤¤¥]§tToolbar±±¨î¶µ¡A¥H¤Î¨Ï¥Î¤@Ó»²§Uªº¼Ò²ÕTransTBWrapper¨Ó«Ø¥ß¯B°Ê¦³µÛ³z©úI´ºªºToolbar¡A¦p¹Ï11-10¡C³oÓ§Þ³N¬O¥²»Ýªº¡A¦]¬°³oÓª©¥»ªºToolbar¡]¬°Visual Basic 5ª©¥»¡^¨Ã¤£¤ä´©¯B°Ê¼Ë¦¡¡C
¦p±z©Òª¾¡AVisual Basic 6 Toolbar±±¨î¶µ¤w¤ä´©¯B°Ê¼Ë¦¡¡A©Ò¥H¥i¥H§â¥¦¥]¦bCoolBar±±¨î¶µ¤º¡A¦Ó¬Ý°_¨Ó¤´¸ò쥻ªº¤@¼Ë¡CµM¦Ó¡A·sª©Toolbar¤´¤£¤ä´©³z©úI´º¡C×§ïTransTBWrapper¼Ò²ÕÅý¥¦¥i»P·sª©ªºToolbar±±¨î¶µ¬Û¤¬¹B§@ªá¤Fµ§ªÌ¤£¤Ö®É¶¡¡A¦ý²×¨s¬O¦³»ùȪº¡C²{¦b¥i¥H¦b±zªºÀ³¥Îµ{¦¡¤¤¨Ï¥Î·sª©ªº¼Ò²Õ¡A¤£¹L½Ð°O±o¸ÓÀɮר䣷|³QMicrosoft©Ò¤ä´©¡C
¡@
¹Ï11-10 ¸û¨Îªº®i¥Üµ{¦¡¨Ï¥ÎTransTBWrapper¼Ò²Õ¨Ó¥]§t¦³µÛ³z©úI´ºªºToolbar±±¨î¶µ¡C |
¬°¤F°µ¨ì¹Ï11-10©Ò¥Üªº³z©úI´º¡A¥ý·Ç³Æ¦n¥¿±`°õ¦æªºµ{¦¡¡AµM«á§âTransTB.CtlÀÉ®×¥[¨ì±M®×¤¤¡C³oÓÀÉ®×¥]§tTransTBWrapper ActiveX±±¨î¶µ¡A©Ò¥H¥i¥H§â¦¹±±¨î¶µªº¹êÅé©ñ¨ì¥]§tCoolBar©MToolbar±±¨î¶µªºªí³æ¡C¦Ü¦¹¡A±z¥u»Ýn¤@¨Ç¦bªí³æªºLoad©MUnload¨Æ¥ó¨ç¼Æªºµ{¦¡¡G
Private Sub Form_Load() ' Put the toolbar wrapper controls in the CoolBar band. Set TransTBWrapper1.Container = CoolBar1 ' This must be the same Band that hosts the toolbar. Set CoolBar1.Bands(1).Child = TransTBWrapper1 ' Put the toolbar into the toolbar wrapper. Set TransTBWrapper1.Toolbar = Toolbar1 End Sub Private Sub Form_Unload(Cancel As Integer) ' It is VERY important to set the wrapper's Toolbar property ' to Nothing before the form is unloaded. CoolBar1.Visible = False Set TransTBWrapper1.Toolbar = Nothing End Sub
ª`·N
n«OÃÒForm_Unload¥Ã»··|³Q°õ¦æ¨ì¡F§_«h¥i¯à·|¾ÉPÀ³¥Îµ{¦¡·í±¼¡C°ò©ó³oÓì¦]¡A¦bVisual Basic¾ã¦XÀô¹Ò¤¤´ú¸ÕÀ³¥Îµ{¦¡®É¡A½Ð¸g¥ÑUnload¥Dªí³æ¨Óµ²§ôµ{¦¡¡A¦Óµ´¤£n°õ¦æEnd±Ôz¡C¡]End±Ôz¾ÉPUnload¨Æ¥ó¤£·|¤Þµo¡C¡^
¥»³¹µ²§ô¤F©Ò¦³Visual Basic³q¥Î±±¨î¶µªº¤¶²Ð¡A¥t¥~ÁÙ¦³¤@¨ÇVisual Basic³]p®v¥i¥H¨Ï¥Îªº±±¨î¶µ±N¦b¤U¤@³¹»¡©ú¡C