คำสั่งเขียนข้อความภายใน AutoCAD ทั้ง Text และ Mtext ผู้ใช้จะต้องกรอกข้อความเข้าไปเองทั้งหมด ในงานเขียนแบบมีไม่น้อยที่บางครั้งจะใช้ชุดตัวเลขเรียง ที่อาจมีข้อความบางอย่างนำหน้าอยู่ด้วยเช่น A01-001, A01-002, A01-003, ... เป็นต้น
คำสั่ง txtinc นี้จะช่วยจัดการงานเช่นนี้ได้เป็นอย่างดี
;;; Increment Text with Prefix.
;;; Developed by S.Chatchawal , schatchawal@gmail.com
(vl-load-com)
(defun c:txtinc (/ p tmp j txt *acaddoc* *model-space*)
(if (not #prefix)
(setq #prefix "A01-")
)
(if (not #digits)
(setq #digits 3)
)
(if (not #start)
(setq #start 1)
)
(if (not #texth)
(setq #texth 100.0)
)
(setq tmp (getstring T (strcat "\nPrefix : <" #prefix "> ")))
(if (not (= "" tmp))
(setq #prefix tmp)
)
(princ "\nHow many digits? <")
(princ #digits)
(princ "> ")
(initget 6)
(setq tmp (getint))
(if tmp
(setq #digits tmp)
)
(princ "\nStart number: <")
(princ #start)
(princ "> ")
(initget 6)
(setq tmp (getint))
(if tmp
(setq #start tmp)
)
(princ "\nText height: <")
(princ #texth)
(princ "> ")
(setq tmp (getdist))
(if tmp
(setq #texth tmp)
)
(setq *acaddoc* (vla-get-activedocument
(vlax-get-Acad-Object)
)
*model-space*
(vla-get-modelspace
*acaddoc*
)
)
(if (fixdigit #start #digits)
(progn
(setq j 0)
(vla-startundomark *acaddoc*)
(while (setq p (getpoint "\nSpecify point: "))
(setq txt (strcat #prefix (fixdigit #start #digits)))
(vla-addText *model-space* txt (vlax-3D-point p) #texth)
(setq #start (1+ #start))
)
(vla-endundomark *acaddoc*)
)
(princ
"\nCannot Create this text!!! \nCheck Digit and Start number again!!!"
)
)
(princ)
)
;; Return: String
(defun fixdigit (int digit / result)
(setq result (itoa int))
(if (<= (strlen result) digit)
(progn
(while (< (strlen result) digit)
(setq result (strcat "0" result))
)
result
)
nil
)
)
วันพุธที่ 28 มกราคม พ.ศ. 2552
วันศุกร์ที่ 23 มกราคม พ.ศ. 2552
Visual LISP นับจำนวน block และเขียนออกไฟล์ .txt
งานระบบไฟฟ้าและเครื่องกลในอาคาร
จะใช้รูปวาดแบบ block ที่แทนถึงอุปกรณ์ต่างๆ เป็นจำนวนมาก
เช่น โคมไฟ ในอาคารสูง บางแห่งอาจมีมากถึงเป็นหลักหลายพันได้ทีเดียว
หากใช้คำสั่งนี้ก็จะช่วยลดเวลาไม่ต้องใช้แรงงานคนนั่งนับกันทีละดวงในแบบ
หรือพวกวาล์วในงานเครื่องกลหรือประปา ก็เช่นเดียวกัน
;;; Block count
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(defun c:bn (/ bk1 bkl bkj bknl L fd)
(if (setq bk1 (cdadr (tblnext "block" T)))
(progn
(setq bkl (list bk1))
(while (setq bkj (tblnext "block"))
(setq bkl (append bkl (list (cdadr bkj))))
)
(setq bknl nil)
(foreach L bkl
(setq bknl
(append
bknl
(list (cons L (sslength (ssget "x" (list (cons 2 L)))))
)
)
)
)
(if bknl
(progn
(setq fd (open "C:\\BlockCount.txt" "a"))
(princ (strcat "\n" (getvar "dwgprefix") (getvar "dwgname"))
fd
)
(foreach L bknl
(princ (strcat "\n" (car L) "," (itoa (cdr L))) fd)
)
(close fd)
(princ
"\nFinished Count. Write the result to C:\\BlockCount.txt file."
)
)
)
)
(princ "\nNo block found!!!")
)
(princ)
)
จะใช้รูปวาดแบบ block ที่แทนถึงอุปกรณ์ต่างๆ เป็นจำนวนมาก
เช่น โคมไฟ ในอาคารสูง บางแห่งอาจมีมากถึงเป็นหลักหลายพันได้ทีเดียว
หากใช้คำสั่งนี้ก็จะช่วยลดเวลาไม่ต้องใช้แรงงานคนนั่งนับกันทีละดวงในแบบ
หรือพวกวาล์วในงานเครื่องกลหรือประปา ก็เช่นเดียวกัน
;;; Block count
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(defun c:bn (/ bk1 bkl bkj bknl L fd)
(if (setq bk1 (cdadr (tblnext "block" T)))
(progn
(setq bkl (list bk1))
(while (setq bkj (tblnext "block"))
(setq bkl (append bkl (list (cdadr bkj))))
)
(setq bknl nil)
(foreach L bkl
(setq bknl
(append
bknl
(list (cons L (sslength (ssget "x" (list (cons 2 L)))))
)
)
)
)
(if bknl
(progn
(setq fd (open "C:\\BlockCount.txt" "a"))
(princ (strcat "\n" (getvar "dwgprefix") (getvar "dwgname"))
fd
)
(foreach L bknl
(princ (strcat "\n" (car L) "," (itoa (cdr L))) fd)
)
(close fd)
(princ
"\nFinished Count. Write the result to C:\\BlockCount.txt file."
)
)
)
)
(princ "\nNo block found!!!")
)
(princ)
)
Visual LISP หาพื้นที่ชิ้นงานที่มีรูเจาะภายใน
หลังจากโหดล LISP นี้แล้วพิมพ์ getArea ตามด้วย Enter
แล้วคลิกหนึ่งจุดบนพื้นที่ของชิ้นงาน 2D
จะได้ผลลัพธ์แจ้งพื้นที่ (หักรูเจาะทั้งหมด)
(vl-load-com)
(defun c:getarea (/ oldcmdecho p e)
(setq oldcmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(initget 1)
(setq p (getpoint "\nSpecify a point in boundary: "))
(command "_.-hatch" "a" "A" "n" "" p "")
(princ "\nArea = ")
(princ
(vla-get-Area
(vlax-ename->vla-object (setq e (entlast)))
)
)
(entdel e)
(setvar "cmdecho" oldcmdecho)
(princ)
)
แล้วคลิกหนึ่งจุดบนพื้นที่ของชิ้นงาน 2D
จะได้ผลลัพธ์แจ้งพื้นที่ (หักรูเจาะทั้งหมด)
(vl-load-com)
(defun c:getarea (/ oldcmdecho p e)
(setq oldcmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(initget 1)
(setq p (getpoint "\nSpecify a point in boundary: "))
(command "_.-hatch" "a" "A" "n" "" p "")
(princ "\nArea = ")
(princ
(vla-get-Area
(vlax-ename->vla-object (setq e (entlast)))
)
)
(entdel e)
(setvar "cmdecho" oldcmdecho)
(princ)
)
Visual LISP ความยาวของรูปวาด
คำสั่ง Perimeter สำหรับหาความยาวรูปวาดหนึ่งๆ ส่วน sLength หาผลรวมความยาวของรูปวาดที่เลือก สังเกตว่า จะหาความยาวได้เฉพาะกับรูปวาด Arc, Circle, Line และ Polyline.
;;; Line, Curve or Perimeter Length
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(vl-load-com)
(defun c:Perimeter (/ e obj)
(setq e (select1 (list "AcDbArc" "AcDbCircle"
"AcDbEllipse" "AcDbLine"
"AcDbPolyline" "AcDbSpline"
)
"\nSelect line or curve: \n"
)
)
(setq obj (vlax-ename->vla-object e))
(princ (vla-get-ObjectName obj))
(princ " >> Line, Curve or Perimeter Length = ")
(cond
((vlax-property-available-p obj 'Length)
(princ (vla-get-Length obj))
)
((vlax-property-available-p obj 'ArcLength)
(princ (vla-get-ArcLength obj))
)
((vlax-property-available-p obj 'Circumference)
(princ (vla-get-Circumference obj))
)
(T (princ "<>"))
)
(princ)
)
(defun select1 (objNameList msg / stop e obj)
(while (not stop)
(if (setq e (entsel msg))
(progn
(setq obj (vlax-ename->vla-object (setq e (car e))))
(if (member (vla-get-ObjectName obj) objNameList)
(setq stop T)
(progn
(princ "Not ")
(princ objNameList)
(princ "!!! Try again!!!")
)
)
)
(princ "\nNo object found!!!")
)
)
e
)
(defun c:sLength (/ s obj j L ssn m objName)
(princ
"\nFind sum length of Arc, Circle, Line and Polyline objects."
)
(if (setq s (ssget))
(progn
(setq j -1
L 0.0
ssn (sslength s)
m 0
)
(repeat ssn
(setq obj (vlax-ename->vla-object (ssname s (setq j (1+ j))))
)
(if (member (setq objName (vla-get-ObjectName obj))
(list "AcDbArc"
"AcDbCircle"
"AcDbLine"
"AcDbPolyline"
)
)
(progn
(setq m (1+ m))
(cond
((= "AcDbArc" objName)
(setq L (+ L (vla-get-ArcLength obj)))
)
((= "AcDbCircle" objName)
(setq L (+ L (vla-get-Circumference obj)))
)
((= "AcDbLine" objName)
(setq L (+ L (vla-get-Length obj)))
)
((= "AcDbPolyline" objName)
(setq L (+ L (vla-get-Length obj)))
)
)
)
)
) ;repeat
(princ "\nTotal length of ")
(princ m)
(princ " objects: ")
(princ L)
(princ " (from ")
(princ ssn)
(princ " selected objects)")
)
(princ "\nNo object found!!!")
)
(princ)
)
;;; Line, Curve or Perimeter Length
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(vl-load-com)
(defun c:Perimeter (/ e obj)
(setq e (select1 (list "AcDbArc" "AcDbCircle"
"AcDbEllipse" "AcDbLine"
"AcDbPolyline" "AcDbSpline"
)
"\nSelect line or curve: \n"
)
)
(setq obj (vlax-ename->vla-object e))
(princ (vla-get-ObjectName obj))
(princ " >> Line, Curve or Perimeter Length = ")
(cond
((vlax-property-available-p obj 'Length)
(princ (vla-get-Length obj))
)
((vlax-property-available-p obj 'ArcLength)
(princ (vla-get-ArcLength obj))
)
((vlax-property-available-p obj 'Circumference)
(princ (vla-get-Circumference obj))
)
(T (princ "<
)
(princ)
)
(defun select1 (objNameList msg / stop e obj)
(while (not stop)
(if (setq e (entsel msg))
(progn
(setq obj (vlax-ename->vla-object (setq e (car e))))
(if (member (vla-get-ObjectName obj) objNameList)
(setq stop T)
(progn
(princ "Not ")
(princ objNameList)
(princ "!!! Try again!!!")
)
)
)
(princ "\nNo object found!!!")
)
)
e
)
(defun c:sLength (/ s obj j L ssn m objName)
(princ
"\nFind sum length of Arc, Circle, Line and Polyline objects."
)
(if (setq s (ssget))
(progn
(setq j -1
L 0.0
ssn (sslength s)
m 0
)
(repeat ssn
(setq obj (vlax-ename->vla-object (ssname s (setq j (1+ j))))
)
(if (member (setq objName (vla-get-ObjectName obj))
(list "AcDbArc"
"AcDbCircle"
"AcDbLine"
"AcDbPolyline"
)
)
(progn
(setq m (1+ m))
(cond
((= "AcDbArc" objName)
(setq L (+ L (vla-get-ArcLength obj)))
)
((= "AcDbCircle" objName)
(setq L (+ L (vla-get-Circumference obj)))
)
((= "AcDbLine" objName)
(setq L (+ L (vla-get-Length obj)))
)
((= "AcDbPolyline" objName)
(setq L (+ L (vla-get-Length obj)))
)
)
)
)
) ;repeat
(princ "\nTotal length of ")
(princ m)
(princ " objects: ")
(princ L)
(princ " (from ")
(princ ssn)
(princ " selected objects)")
)
(princ "\nNo object found!!!")
)
(princ)
)
วันพฤหัสบดีที่ 22 มกราคม พ.ศ. 2552
Visual LISP ลากเส้นตรงแบ่งเป็นช่วงระหว่างสองเส้น
โค้ดนี้เป็นอีกตัวอย่างของการใช้ Visual LISP สำหรับการแก้ไขปัญหา เพื่อสร้างรูปวาดขึ้นตามเงื่อนไขหนึ่งๆ เพื่อช่วยให้งานลดขั้นตอนลงไป ซึ่งจะนำมาซึ่งการลดข้อผิดพลาดลงไปได้ ถือเป็นหลักการอย่างหนึ่งในการเพิ่มผลผลิต (Productivities)
;;; Draw N lines between 2 Lines (Line or LightweightPolyline).
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(defun c:b2 (/ e1 e2 obj1 obj2 L1st L1en
L2st L2en tmp *model-space* pList qList
d1 d2 j p q
)
(if (not #nb2)
(setq #nb2 50)
)
(vl-load-com)
(setq e1 (select1 (list "AcDbLine" "AcDbPolyline")
"\nSelect first line: "
)
e2 (select1 (list "AcDbLine" "AcDbPolyline")
"\nSelect second line: "
)
obj1 (vlax-ename->vla-object e1)
obj2 (vlax-ename->vla-object e2)
L1st (vlax-curve-getStartPoint obj1)
L1en (vlax-curve-getEndPoint obj1)
L2st (vlax-curve-getStartPoint obj2)
L2en (vlax-curve-getEndPoint obj2)
)
(princ "\nEnter number of segments: <")
(princ #nb2)
(princ "> ")
(setq tmp (getint))
(if tmp
(setq #nb2 tmp)
)
(setq *model-space*
(vla-get-modelspace
(vla-get-activedocument (vlax-get-acad-object))
)
d1 (/ (vla-get-Length obj1)
#nb2
)
d2 (/ (vla-get-Length obj2)
#nb2
)
j -1
)
(repeat (1+ #nb2)
(setq j (1+ j)
p (vlax-curve-getPointAtDist obj1 (* j d1))
q (vlax-curve-getPointAtDist obj2 (* j d2))
pList (append pList (list p))
qList (append qList (list q))
)
)
(if (> (distance L1st L2st) (distance L1st L2en))
(setq
qList
(reverse qList)
)
)
(setq j -1)
(repeat (1+ #nb2)
(setq j (1+ j))
(vla-addline
*model-space*
(vlax-3d-point (nth j pList))
(vlax-3d-point (nth j qList))
)
)
(princ)
)
(defun select1 (objNameList msg / stop e obj)
(while (not stop)
(if (setq e (entsel msg))
(progn
(setq obj (vlax-ename->vla-object (setq e (car e))))
(if (member (vla-get-ObjectName obj) objNameList)
(setq stop T)
(progn
(princ "Not ")
(princ objNameList)
(princ "!!! Try again!!!")
)
)
)
(princ "\nNo object found!!!")
)
)
e
)
;;; Draw N lines between 2 Lines (Line or LightweightPolyline).
;;; Developed by S.Chatchawal, schatchawal@gmail.com
(defun c:b2 (/ e1 e2 obj1 obj2 L1st L1en
L2st L2en tmp *model-space* pList qList
d1 d2 j p q
)
(if (not #nb2)
(setq #nb2 50)
)
(vl-load-com)
(setq e1 (select1 (list "AcDbLine" "AcDbPolyline")
"\nSelect first line: "
)
e2 (select1 (list "AcDbLine" "AcDbPolyline")
"\nSelect second line: "
)
obj1 (vlax-ename->vla-object e1)
obj2 (vlax-ename->vla-object e2)
L1st (vlax-curve-getStartPoint obj1)
L1en (vlax-curve-getEndPoint obj1)
L2st (vlax-curve-getStartPoint obj2)
L2en (vlax-curve-getEndPoint obj2)
)
(princ "\nEnter number of segments: <")
(princ #nb2)
(princ "> ")
(setq tmp (getint))
(if tmp
(setq #nb2 tmp)
)
(setq *model-space*
(vla-get-modelspace
(vla-get-activedocument (vlax-get-acad-object))
)
d1 (/ (vla-get-Length obj1)
#nb2
)
d2 (/ (vla-get-Length obj2)
#nb2
)
j -1
)
(repeat (1+ #nb2)
(setq j (1+ j)
p (vlax-curve-getPointAtDist obj1 (* j d1))
q (vlax-curve-getPointAtDist obj2 (* j d2))
pList (append pList (list p))
qList (append qList (list q))
)
)
(if (> (distance L1st L2st) (distance L1st L2en))
(setq
qList
(reverse qList)
)
)
(setq j -1)
(repeat (1+ #nb2)
(setq j (1+ j))
(vla-addline
*model-space*
(vlax-3d-point (nth j pList))
(vlax-3d-point (nth j qList))
)
)
(princ)
)
(defun select1 (objNameList msg / stop e obj)
(while (not stop)
(if (setq e (entsel msg))
(progn
(setq obj (vlax-ename->vla-object (setq e (car e))))
(if (member (vla-get-ObjectName obj) objNameList)
(setq stop T)
(progn
(princ "Not ")
(princ objNameList)
(princ "!!! Try again!!!")
)
)
)
(princ "\nNo object found!!!")
)
)
e
)
วันเสาร์ที่ 17 มกราคม พ.ศ. 2552
Windows Tip เคล็ดลับ ตอนที่ 4
แก้ไขตำแหน่งเริ่มต้นของ Windows Explorer
ใน Windows 7 เมื่อเราคลิกบนไอคอน Windows Explorer บนทาสก์บาร์ จะให้ผลเปิด Windows Explorer โดยเริ่มต้น
จากที่ส่วนที่เรียกว่า Libraries ที่มี Virtual folder ของ Documents, Music, Pictures and Videos แต่สำหรับบางท่านที่

ต้องการให้เปิดไปที่ My Computer เลย มีวิธีแก้ไขได้
1. ปิดวินโดว์ของ Windows Explorer ที่เปิดไว้อยู่ลงไปก่อน
2. กดคีย์ Shift ค้างไว้ แล้วคลิกขวาบนไอคอนบนทาสก์บาร์
และเลือก Properties
3. ใน Target จากที่แต่เดิมเป็น
%SystemRoot%\explorer.exe
ซึ่งให้ผลเริ่มแสดงผลที่ Libraries ให้แก้ไขค่านี้ใหม่เป็น
%SystemRoot%\explorer.exe /root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
เพื่อให้เริ่มต้นเปิดที่ My Computer แทน

4. คลิก OK
จากนี้ไปเมื่อคลิกไอคอน Windows Explorer ก็จะให้ผลเริ่มต้นแสดงที่ My Computer แล้ว
และหากต้องการกลับไปใช้ค่าดั้งเดิมที่จะให้เริ่มต้นที่ Libraries ก็ให้แก้ไขกลับค่าเดิมได้
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ย้ายไอคอน Windows Live Messenger ให้อยู่เฉพาะที่ System Tray
แก้ไขพฤติกรรมของ Windows Live Messenger ให้เป็นแบบเดิม คือให้แสดงไอคอนที่ System Tray (Notification area)
ทำได้โดยไปที่โฟลเดอร์จัดเก็บไฟล์โปรแกรมของ Messenger ที่ C:\Program Files\Windows Live\Messenger\
และกำหนดคุณสมบัติของ msnmsgr.exe ให้ Compatibility กับ Windows Vista
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
นำทูลบาร์ Quick Launch กลับคืนมา
ทำได้ดังนี้
1. คลิกขวาบนทาสก์บาร์ และเลือก Toolbars / New Toolbar
2. เลือกโฟลเดอร์
%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
แล้วคลิก OK
3. กำหนดปิด "Lock the taskbar" และคลิกขวาบนเส้นแบ่งนี้ ให้แน่ใจว่ากำหนดไม่ใช้ "Show text" กับ "Show title"
และกำหนดให้แสดงแบบ "small icons"
4. ใช้ divider เพื่อจัดเรียงทูลบาร์เสียใหม่ตามที่ต้องการ แล้วกำหนดล๊อคทาสก์บาร์อีกครั้ง
ใน Windows 7 เมื่อเราคลิกบนไอคอน Windows Explorer บนทาสก์บาร์ จะให้ผลเปิด Windows Explorer โดยเริ่มต้น
จากที่ส่วนที่เรียกว่า Libraries ที่มี Virtual folder ของ Documents, Music, Pictures and Videos แต่สำหรับบางท่านที่

ต้องการให้เปิดไปที่ My Computer เลย มีวิธีแก้ไขได้
1. ปิดวินโดว์ของ Windows Explorer ที่เปิดไว้อยู่ลงไปก่อน
2. กดคีย์ Shift ค้างไว้ แล้วคลิกขวาบนไอคอนบนทาสก์บาร์
และเลือก Properties
3. ใน Target จากที่แต่เดิมเป็น
%SystemRoot%\explorer.exe
ซึ่งให้ผลเริ่มแสดงผลที่ Libraries ให้แก้ไขค่านี้ใหม่เป็น
%SystemRoot%\explorer.exe /root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
เพื่อให้เริ่มต้นเปิดที่ My Computer แทน

4. คลิก OK
จากนี้ไปเมื่อคลิกไอคอน Windows Explorer ก็จะให้ผลเริ่มต้นแสดงที่ My Computer แล้ว
และหากต้องการกลับไปใช้ค่าดั้งเดิมที่จะให้เริ่มต้นที่ Libraries ก็ให้แก้ไขกลับค่าเดิมได้
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ย้ายไอคอน Windows Live Messenger ให้อยู่เฉพาะที่ System Tray
แก้ไขพฤติกรรมของ Windows Live Messenger ให้เป็นแบบเดิม คือให้แสดงไอคอนที่ System Tray (Notification area)
ทำได้โดยไปที่โฟลเดอร์จัดเก็บไฟล์โปรแกรมของ Messenger ที่ C:\Program Files\Windows Live\Messenger\
และกำหนดคุณสมบัติของ msnmsgr.exe ให้ Compatibility กับ Windows Vista
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
นำทูลบาร์ Quick Launch กลับคืนมา
ทำได้ดังนี้
1. คลิกขวาบนทาสก์บาร์ และเลือก Toolbars / New Toolbar
2. เลือกโฟลเดอร์
%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
แล้วคลิก OK
3. กำหนดปิด "Lock the taskbar" และคลิกขวาบนเส้นแบ่งนี้ ให้แน่ใจว่ากำหนดไม่ใช้ "Show text" กับ "Show title"
และกำหนดให้แสดงแบบ "small icons"
4. ใช้ divider เพื่อจัดเรียงทูลบาร์เสียใหม่ตามที่ต้องการ แล้วกำหนดล๊อคทาสก์บาร์อีกครั้ง
วันศุกร์ที่ 16 มกราคม พ.ศ. 2552
Windows 7 Tips เคล็ดลับ ตอนที่ 3
นอกจากจะใช้ Theme pack ที่ปรับเปลี่ยนรูปให้เองแล้ว
เรายังสามารถใช้ไฟล์ภาพของเราเอง นำมากำหนดให้เป็น
ฉากหลังเดสก์ทอป (desktop background) แบบสับเปลี่ยน
ทุกช่วงเวลาหนึ่งๆ ได้ด้วย


ทำได้ดังนี้
1. คลิกขวาบนเดสก์ทอป เลือก Personalized
2. คลิก Desktop background ที่รายการเลือกด้านล่าง
3. คลิก Browse เลือกไปที่โฟลเดอร์จัดเก็บภาพ
4.คลิกเช็กบ็อกซ์เลือกชุดไฟล์ภาพ (มากกว่าหนึ่งภาพ)
ที่ต้องการนำมาแสดงแบบสับเปลี่ยน (Shuffle)
5. กำหนดช่วงเวลาใน Change picture every
6. ให้แน่ใจว่ารายการ Shuffle ถูกคลิกเช็กบ็อกซ์เลือกเอาไว้
7. คลิก Save changes
เพียงเท่านี้ ภาพบนเดสก์ทอปก็จะสับเปลี่ยนภาพ
ตามในชุดภาพที่ถูกเลือกเอาไว้ ตามช่วงเวลาที่กำหนดแล้ว
นอกจากจะใช้ Theme pack ที่ปรับเปลี่ยนรูปให้เองแล้ว
เรายังสามารถใช้ไฟล์ภาพของเราเอง นำมากำหนดให้เป็น
ฉากหลังเดสก์ทอป (desktop background) แบบสับเปลี่ยน
ทุกช่วงเวลาหนึ่งๆ ได้ด้วย


ทำได้ดังนี้
1. คลิกขวาบนเดสก์ทอป เลือก Personalized
2. คลิก Desktop background ที่รายการเลือกด้านล่าง
3. คลิก Browse เลือกไปที่โฟลเดอร์จัดเก็บภาพ
4.คลิกเช็กบ็อกซ์เลือกชุดไฟล์ภาพ (มากกว่าหนึ่งภาพ)
ที่ต้องการนำมาแสดงแบบสับเปลี่ยน (Shuffle)
5. กำหนดช่วงเวลาใน Change picture every
6. ให้แน่ใจว่ารายการ Shuffle ถูกคลิกเช็กบ็อกซ์เลือกเอาไว้
7. คลิก Save changes
เพียงเท่านี้ ภาพบนเดสก์ทอปก็จะสับเปลี่ยนภาพ
ตามในชุดภาพที่ถูกเลือกเอาไว้ ตามช่วงเวลาที่กำหนดแล้ว
สมัครสมาชิก:
บทความ (Atom)