ยินดีต้อนรับแขกผู้มาเยือน กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?
 
Please Login!

ผู้เขียน หัวข้อ: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)  (อ่าน 10646 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #40 เมื่อ: 09 ธันวาคม 11, 12:16:59 »
Lua Library GUI (Lua.Net)

โค๊ด: [Select]
require 'luanet'
luanet.load_assembly "System.Windows.Forms"
Form = luanet.import_type "System.Windows.Forms.Form"
form = Form()
form.Text = "Hello, World!"
form:ShowDialog()
+0 โดย  
« แก้ไขครั้งสุดท้าย: 09 ธันวาคม 11, 12:20:58 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #41 เมื่อ: 09 ธันวาคม 11, 12:39:36 »
Lua GUI wxLua Module

โค๊ด: [Select]
package.cpath = package.cpath..";;./?.dll;./?.so;../lib/?.so;../lib/vc_dll/?.dll;../lib/bcc_dll/?.dll;../lib/mingw_dll/?.dll;"
require("wx")

frame = wx.wxFrame(wx.NULL, -1, "wxLua module sample")

local fileMenu = wx.wxMenu()
fileMenu:Append(wx.wxID_EXIT, "E&xit", "Quit the program")
local menuBar = wx.wxMenuBar()
menuBar:Append(fileMenu, "&File")

frame:SetMenuBar(menuBar)
frame:Connect(
wx.wxID_EXIT, wx.wxEVT_COMMAND_MENU_SELECTED,
function(event)frame:Close(true) end
)

frame:Show(true)
wx.wxGetApp():MainLoop()
----------------------------------------------------------------------------
wxMdi wxLua

โค๊ด: [Select]
package.cpath = package.cpath..";./?.dll;./?.so;../lib/?.so;../lib/vc_dll/?.dll;../lib/bcc_dll/?.dll;../lib/mingw_dll/?.dll;"
require("wx")

frame       = nil
childList   = {}
numChildren = 0

function CreateChild()
    local child = wx.wxMDIChildFrame( frame, wx.wxID_ANY, "" )
    child:SetSize(330,340)
    childList[child:GetId()] = child
    numChildren = numChildren + 1
    child:SetTitle("Child "..numChildren)

    function OnPaint(event)
        local id = event:GetId()
        local win = event:GetEventObject():DynamicCast("wxWindow")
        local dc = wx.wxPaintDC(win) -- or can use childList[id]
        dc:DrawRectangle(10, 10, 300, 300);
        dc:DrawRoundedRectangle(20, 20, 280, 280, 20);
        dc:DrawEllipse(30, 30, 260, 260);
        dc:DrawText("A test string for window Id "..tostring(win:GetId()), 50, 150);
        dc:delete() -- ALWAYS delete() any wxDCs created when done
    end
    child:Connect(wx.wxEVT_PAINT, OnPaint)
    child:Show(true)
end

frame = wx.wxMDIParentFrame( wx.NULL, wx.wxID_ANY, "wxLua MDI Demo",
                             wx.wxDefaultPosition, wx.wxSize(450, 450),
                             wx.wxDEFAULT_FRAME_STYLE )

frame:Connect(wx.wxID_NEW, wx.wxEVT_COMMAND_MENU_SELECTED,
              function (event) CreateChild() end )

frame:Connect(wx.wxID_EXIT, wx.wxEVT_COMMAND_MENU_SELECTED,
              function (event) frame:Close() end )

frame:Connect(wx.wxID_ABOUT, wx.wxEVT_COMMAND_MENU_SELECTED,
    function (event)
        wx.wxMessageBox('This is the "About" dialog of the MDI wxLua sample.\n'..
                        wxlua.wxLUA_VERSION_STRING.." built with "..wx.wxVERSION_STRING,
                        "About wxLua",
                        wx.wxOK + wx.wxICON_INFORMATION,
                        frame )
    end )

frame:Show(true)
wx.wxGetApp():MainLoop()
+0 โดย  
« แก้ไขครั้งสุดท้าย: 09 ธันวาคม 11, 12:49:47 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #42 เมื่อ: 09 ธันวาคม 11, 12:53:10 »
IUP Portable Dialog

Dialog หมายถึง โปรแกรมที่เป็นหน้าต่างกรอบข้อความพร้อมใช้งาน
สามารถปรับแต่งรายละเอียดเพิ่มเติมได้
มีอยู่หลายชนิดหลายประเภทการใช้งาน ดังนี้

IUP alarm
โค๊ด: [Select]
require( "iuplua" )

repeat
   b = iup.Alarm("Test button Sample", "Do you wanted test button?" ,"Yes" ,"No" ,"Cancel")
   if b == 1 then
      iup.Message("Save file", "you clicked..Yes")
   elseif b == 2 then
      iup.Message("Save file", "you clicked..No")
   else
      iup.Message("Save file", "you clicked..Cancel. ExitApp")
   end
until b == 3
---------------------------------------------------------------------------------------------------
โค๊ด: [Select]
require( "iuplua" )

repeat
    b = iup.Alarm("Test button Sample", "Do you wanted test button?" ,"Ok", "Cancel")
    if b == 1 then
       iup.Message("", "You clicked..Ok")
    elseif  b == 2 then
       iup.Message("", "You clicked..Cancel")
else
   os.exit()
end
until b == false
Tip: ถ้า Save เป็นไฟล์สกุล .lua แล้วดับเบิ้ลคลิ๊กเพื่อรัน จะมีหน้าต่าง Dos ขึ้นมา
       ถ้า Save เป็นไฟล์สกุล .wlua จะไม่มีหน้าต่าง Dos
+0 โดย  
« แก้ไขครั้งสุดท้าย: 09 ธันวาคม 11, 14:06:01 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #43 เมื่อ: 11 ธันวาคม 11, 08:34:34 »
รวมมิตรโค๊ด Lua GUI เพื่อการศึกษา

เป็นโค๊ดคำสั่ง Lua ที่อาจารย์ต้องใช้ความรู้ความสามารถออกแบบเขียนเอง
เพื่อให้ท่านได้มีไว้ศึกษาเพิ่มเติมกัน เพราะรู้ว่า บนอินเทอร์เน็ต มีความรู้เช่นนี้อยู่น้อยมาก
-------------------------------------------------------------------------------------------
Lua CLR Timer
โค๊ด: [Select]
require 'CLRPackage'  --Include Library.

import "System.Windows.Forms"  --NameSpace.
import "System.Drawing"

progressBar1 = ProgressBar()
progressBar1.Size = Size(230, 17)
progressBar1.Name = "progressBar"
progressBar1.Location = Point(10, 10)

progressBar2 = ProgressBar()  --Common Control.
progressBar2.Size = Size(230, 17)
progressBar2.Name = "progressBar"
progressBar2.Location = Point(10, 50)
progressBar2.Style = ProgressBarStyle.Marquee

progressBar3 = ProgressBar()
progressBar3.Size = Size(230, 17)
progressBar3.Name = "progressBar"
progressBar3.Location = Point(10, 90)

label1 = Label()
label1.Text = ""
label1.Size = Size(200, 25)
label1.Location = Point(70, 123)

timer1 = Timer()  --Components.
timer1.Interval = 50

form1 = Form()  --CLR Windows.
form1.Text = "Lua CLR Timer"
form1.ClientSize = Size(250, 150)
form1.StartPosition = FormStartPosition.CenterScreen;
form1.MaximizeBox = false
form1.AutoSizeMode = AutoSizeMode.GrowAndShrink
form1.SizeGripStyle = SizeGripStyle.Hide

form1.Controls:Add(richTextBox1)
form1.Controls:Add(button1)
form1.Controls:Add(progressBar1)  --Add object on the form.
form1.Controls:Add(progressBar2)
form1.Controls:Add(progressBar3)
form1.Controls:Add(label1)

form1.Load:Add(function()  --Event on load.
progressBar3.Value = 100
label1.Text = os.date()
timer1.Enabled = true
end)

timer1.Tick:Add(function()  --Event timer tick.
progressBar1.Value = progressBar1.Value + 1
progressBar3.Value = progressBar3.Value - 1
if(progressBar1.Value == 100) then
progressBar1.Value = 0
end
if(progressBar3.Value == 0) then
progressBar3.Value = 100
end
label1.Text = os.date()
end)

form1:ShowDialog()  --Show gui.



Lua CLR Counter
โค๊ด: [Select]
require 'CLRPackage'  --Include Library.

import "System.Windows.Forms"  --NameSpace.
import "System.Drawing"

label1 = Label()
label1.Text = "00"
label1.Size = Size(50, 25)
label1.Location = Point(110, 20)

label2 = Label()
label2.Text = "00"
label2.Size = Size(50, 25)
label2.Location = Point(90, 20)
                                             -- Common Control. (Object)
label3 = Label()
label3.Text = "00"
label3.Size = Size(50, 25)
label3.Location = Point(70, 20)

button1 = Button()
button1.Text = "Start"
button1.Size = Size(75, 25)
button1.Location = Point(65, 60)
button1.Cursor = Cursors.Hand

timer1 = Timer()  --Components.
timer1.Interval = 1000

form1 = Form()  --CLR Windows.
form1.Text = "Lua CLR Counter"
form1.ClientSize = Size(200, 100)
form1.StartPosition = FormStartPosition.CenterScreen;
form1.MaximizeBox = false
form1.AutoSizeMode = AutoSizeMode.GrowAndShrink
form1.SizeGripStyle = SizeGripStyle.Hide
form1.TopMost = true

form1.Controls:Add(button1)
form1.Controls:Add(label1)
form1.Controls:Add(label2)
form1.Controls:Add(label3)
form1.Controls:Add(button1)

form1.Load:Add(function()  --Event on load.
label1.Text = "00"
label2.Text = "00 :"
label3.Text = "00 :"

end)
x = 0
i = 0
j = 0
timer1.Tick:Add(function()  --Event timer tick.
x = x + 1
label1.Text = x
if(x==59)then
i = i + 1
label2.Text = i.." :"
x = -1
if(i==59)then
j = j + 1
label3.Text = j.." :"
i = -1
if(j==23)then
j = -1
end
end
end
end)

button1.Click:Add(function()  -- Event button (OneTouch)
if(button1.Text == "Stop")then
button1.Text = "Start"
timer1.Enabled = false
else
button1.Text = "Stop"
timer1.Enabled = true
end
end)

form1:ShowDialog()  --Show gui.

+0 โดย  
« แก้ไขครั้งสุดท้าย: 15 ธันวาคม 11, 22:37:41 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #44 เมื่อ: 27 ธันวาคม 11, 14:11:31 »
Lua Notepad

โค๊ด: [Select]
require"iuplua"

notepad = {}

-- Notepad Dialog

notepad.lastfilename = nil -- Last file open
notepad.mlCode = iup.multiline{expand="YES", size="200x120", font="Courier, 10"}
notepad.lblPosition = iup.label{title="Lin 0, Col 0", size="50x"}
notepad.lblFileName = iup.label{title="", size="50x", expand="HORIZONTAL"}

function notepad.mlCode:caret_cb(lin, col)
  notepad.lblPosition.title = "Lin ".. lin .. ", Col " .. col
end

function notepad.New()
  notepad.mlCode.value='' 
  notepad.lblFileName.title = '' 
  notepad.lastfilename = nil
end

notepad.butExecute = iup.button{size="50x15", title="Execute",
                                    action="iup.dostring(notepad.mlCode.value)"}
notepad.butNewCommands = iup.button{size="50x15", title="New", action=notepad.New}
notepad.butLoadFile = iup.button{size="50x15", title="Load..."}
notepad.butSaveasFile = iup.button{size="50x15", title="Save As..."}
notepad.butSaveFile = iup.button{size="50x15", title="Save"}

function notepad.butSaveFile:action()
  if (notepad.lastfilename == nil) then
    notepad.butSaveasFile:action()
  else
    newfile = io.open(notepad.lastfilename, "w+")
    if (newfile) then
      newfile:write(notepad.mlCode.value)
      newfile:close()
    else
      error ("Cannot Save file: "..filename)
    end
  end
end

function notepad.butSaveasFile:action()
  local fd = iup.filedlg{dialogtype="SAVE", title="Save File",
                         nochangedir="NO", directory=notepad.last_directory,
                         filter="*.*", filterinfo="All files",allownew=yes}
                         
  fd:popup(iup.LEFT, iup.LEFT)
 
  local status = fd.status
  notepad.lastfilename = fd.value
  notepad.lblFileName.title = fd.value
  notepad.last_directory = fd.directory
  fd:destroy()
 
  if status ~= "-1" then
    if (notepad.lastfilename == nil) then
      error ("Cannot Save file "..filename)
    end
    local newfile=io.open(notepad.lastfilename, "w+")
    if (newfile) then
      newfile:write(notepad.mlCode.value)
      newfile:close(newfile)
    else
      error ("Cannot Save file")
    end
   end
end

function notepad.LoadFile(filename)
  local newfile = io.open (filename, "r")
  if (newfile == nil) then
    error ("Cannot load file "..filename)
  else
    notepad.mlCode.value=newfile:read("*a")
    newfile:close (newfile)
    notepad.lastfilename = filename
    notepad.lblFileName.title = notepad.lastfilename
  end
end

function notepad.butLoadFile:action()
  local fd=iup.filedlg{dialogtype="OPEN", title="Load File",
                       nochangedir="NO", directory=notepad.last_directory,
                       filter="*.*", filterinfo="All Files", allownew="NO"}
  fd:popup(iup.CENTER, iup.CENTER)
  local status = fd.status
  local filename = fd.value
  notepad.last_directory = fd.directory
  fd:destroy()
 
  if (status == "-1") or (status == "1") then
    if (status == "1") then
      error ("Cannot load file "..filename)
    end
  else
    notepad.LoadFile(filename)
  end
end

notepad.vbxNotepad = iup.vbox
{
  iup.frame{iup.hbox{iup.vbox{notepad.butLoadFile,
                              notepad.butSaveFile,
                              notepad.butSaveasFile,
                              notepad.butNewCommands,
                              notepad.butExecute,
                              margin="0x0", gap="10"},
                     iup.vbox{notepad.lblFileName,
                              notepad.mlCode,
                              notepad.lblPosition,
                              alignment = "ARIGHT"},
                     alignment="ATOP"}, title="Commands"}
   ,alignment="ACENTER", margin="5x5", gap="5"
}

-- Main Menu Definition.

notepad.mnuMain = iup.menu
{
  iup.submenu
  {
    iup.menu
    {
      iup.item{title="Exit", action="return iup.CLOSE"}
    }, title="&File"
  },
--  iup.submenu{iup.menu
--  {
--    iup.item{title="Print Version Info...", action=notepad.print_version_info},
--    iup.item{title="About...", action="notepad.dlgAbout:popup(iup.CENTER, iup.CENTER)"}
--  },title="Help"}
}

-- Main Dialog Definition.

notepad.dlgMain = iup.dialog{notepad.vbxNotepad,
                                 title="Lua Notepad",
                                 menu=notepad.mnuMain,
                                 dragdrop = "YES",
                                 defaultenter=notepad.butExecute}

function notepad.dlgMain:dropfiles_cb(filename, num, x, y)
  if (num == 0) then -- only the first one
    notepad.LoadFile(filename)
  end
end

function notepad.dlgMain:close_cb()
  iup.ExitLoop()  -- should be removed if used inside a bigger application
  notepad.dlgMain:destroy()
  return iup.IGNORE
end

-- Displays the Main Dialog

notepad.dlgMain:show()
notepad.mlCode.size = nil -- reset initial size, allow resize to smaller values
iup.SetFocus(notepad.mlCode)

if (iup.MainLoopLevel()==0) then
  iup.MainLoop()
end
+0 โดย  
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #45 เมื่อ: 27 ธันวาคม 11, 18:57:33 »
DateTime Format

โค๊ด: [Select]
require 'CLRPackage'  --Include Library.

import "System.Windows.Forms"  --NameSpace.
import "System.Drawing"

label1 = Label()
label1.Text = ""
label1.Size = Size(200, 25)
label1.Location = Point(60, 20)

timer1 = Timer()          --Components.
timer1.Interval = 1000

form1 = Form()  --CLR Windows.
form1.Text = os.date("%z")
form1.ClientSize = Size(280, 50)
form1.StartPosition = FormStartPosition.CenterScreen;
form1.MaximizeBox = false
form1.AutoSizeMode = AutoSizeMode.GrowAndShrink
form1.SizeGripStyle = SizeGripStyle.Hide

form1.Controls:Add(label1)

form1.Load:Add(function()  --Event on load.
local ost = os.time()
local osd = os.date("*t", ost)
local sf = string.format
local wdays = {"Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"}
label1.Text = os.date(sf("%s/%d/%d/%d %02d:%02d:%02d",
    wdays[osd.wday],
osd.day,
osd.month,
osd.year,
osd.hour,
osd.min,
osd.sec
))
timer1.Enabled = true
end)

timer1.Tick:Add(function()  --Event timer tick.
local ost = os.time()
local osd = os.date("*t", ost)
local sf = string.format
local wdays = {"Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"}
label1.Text = os.date(sf("%s/%d/%d/%d %02d:%02d:%02d",
    wdays[osd.wday],
osd.day,
osd.month,
osd.year,   --DateTime Format.
osd.hour,
osd.min,
osd.sec
))
end)

form1:ShowDialog()  --Show gui.
+0 โดย  
« แก้ไขครั้งสุดท้าย: 27 ธันวาคม 11, 19:20:58 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #46 เมื่อ: 01 มกราคม 12, 13:36:44 »
โปรแกรม Lua Edit for IUP and WX พร้อม Samples Download:คลิ๊กที่นี่
อาจารย์นำเอาโปรแกรมของเขามาโมเพิ่มเติม เพื่อให้ทุกท่านมีไว้ใช้ศึกษากัน
ลิ๊งค์ที่เกี่ยวข้อง:http://wxlua.sourceforge.net/index.php



HAPPY NEW YEAR 2012
+0 โดย  
« แก้ไขครั้งสุดท้าย: 02 มกราคม 12, 20:16:30 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #47 เมื่อ: 07 มกราคม 12, 05:21:26 »
LuaCom
แทบทุกภาษามักจะเขียนคำสั่งที่เกี่ยวข้องกับ ComObject อยู่เสมอ เพราะจะทำให้ท่านสามารถทำอะไร? ได้หลายๆอย่าง
ที่คนอื่นทำไม่ได้ ลองศึกษาหัดเขียนกันให้คล่องนะครับ หัดคิดนอกกรอบ ไอเดียใหม่ๆจะเกิด
ยกตัวอย่างเช่น อาจารย์นำไฟล์ AutoItX3.dll เข้ามาประยุกต์ใช้ในภาษา Lua ดั่ง SampleCode ด้านล่าง
Download:AutoItX3DLL for Lua Click here

โค๊ด: [Select]
require 'luacom'
obj = luacom.CreateObject("Wscript.Shell")
aut = luacom.CreateObject("AutoItX3.Control")
obj:Popup("RunApp. Use SystemShell", 2, "Sample", 64)
obj:Run("Calc")
aut:Sleep(1000)
obj:Popup("RunApp. Use AutoItX3", 1, "Sample", 64)
aut:Run("Notepad")
aut:Sleep(1000)
obj:Popup("ExitApp", 1, "Sample", 64)
aut:WinClose("[Class:Notepad]")
aut:Sleep(500)
aut:WinClose("[Class:SciCalc]")
osname = obj:RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProductName")
servicepack = obj:RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\CSDVersion")
obj:Popup("OS:"..osname.." "..servicepack, 3, "Operate System", 64)

+0 โดย  
« แก้ไขครั้งสุดท้าย: 07 มกราคม 12, 08:01:44 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #48 เมื่อ: 07 มกราคม 12, 09:52:55 »
Mouse Timer ToolTip

โค๊ด: [Select]
require 'luacom'
aut = luacom.CreateObject("AutoItX3.Control")
sec = 0
min = 0
hour = 0
repeat
sec = sec + 1
aut:ToolTip(hour .. ":" .. min .. ":" .. sec)
aut:Sleep(1000)
if sec >= 59 then
sec = -1
min = min + 1
elseif min >= 59 then
min = -1
hour = hour + 1
elseif hour >= 23 then
hour = -1
end
until false
+0 โดย  
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #49 เมื่อ: 07 มกราคม 12, 10:10:04 »
Mouse Get Position

โค๊ด: [Select]
require 'luacom'
aut = luacom.CreateObject("AutoItX3.Control")
repeat
posx = aut:MouseGetPosX()
posy = aut:MouseGetPosY()
aut:ToolTip("X = "..posx.."\n".."Y = "..posy)
aut:Sleep(100)
until false
+0 โดย  
« แก้ไขครั้งสุดท้าย: 07 มกราคม 12, 10:49:17 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #50 เมื่อ: 08 มกราคม 12, 07:50:13 »
การใช้งาน Lua Library Module ใน AutoPlay Media Studio 8

จริงแล้วเรื่องราวความรู้เกี่ยวกับภาษา Lua ยังมีอีกมากมาย เอาไว้ศึกษาต่อกันคราวหน้า

คราวนี้ก็ถึงตอนที่เราต้องนำ Lua module ต่างๆ ที่เราได้ศึกษาผ่านมา นำเข้ามาใช้ใน Project โปรแกรม AutoPlay Media Studio กันบ้าง

เมื่อเรานำสคริ๊ป Lua.wlua ที่เขียนไว้ ไปวางบน script editor ของ  ams8

ไฟล์ dll ทีเกี่ยวข้องกับภาษา Lua จะถูกตั้งบน project ให้อัตโนมัติ ที่..
C:\Documents and Settings\Administrator\My Documents\AutoPlay Media Studio 8\Projects\Lua Modules Sample Project\CD_Root

คงเหลือแต่ ไฟล์ dll ที่เป็น module เท่านั้น ที่ยังไม่ได้ถูกติดตั้ง

เมื่อต้องการใช้โมดูลอะไร? ก็ต้องหาไฟล์ dll นั้นๆมาติดตั้งเพิ่มเข้าไป เช่น. ถ้าใช้โมดูล wx

ไฟล์ dll ที่ต้องใช้ คือ wx.dll ถัดไปถัาใช้โมดูล IUP ..ใชัไฟล์ iuplua51.dll และ LuaCom ..ใช้ไฟล์ luacom.dll เป็นต้น

ส่วน includ สคริ็ป หรือ require("modname") ให้ย้ายไปประกาศไว้ที่ Global Function Editor

ไฟล์ AutiItX3.dll ให้ติดตั้งไว้ที่โฟลเดอร์ Script ที่อยู่ใน project หรือ..

C:\Documents and Settings\Administrator\My Documents\AutoPlay Media Studio 8\Projects\LuaCom AutoItX3 Sample Project\CD_Root\AutoPlay\Scripts

ถ้าติดตั้งไว้ผิดที่ จะไม่ทำงาน
-----------------------------------------------------------------------------------------------------------------------------
Download: Lua Modules Sample Project Click here

Download: LuaCom AutoItX3 Sample Project Click here



+0 โดย  
« แก้ไขครั้งสุดท้าย: 26 พฤษภาคม 12, 02:26:11 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #51 เมื่อ: 09 มกราคม 12, 12:22:19 »
LuaCom WMI

แทบทุกภาษา ใครที่เขียนโค๊ด WMI ได้ ก็เท่ากับว่า..

สามารถเข้าไปควบคุมการทำงานของ Windows ได้โดยสิ้นเชิง

เพราะเกี่ยวของกับระบบ Registry ของ Windows ในเชิงลึก (Class)

การเขียน wmi ในภาษา Lua ยากกว่าภาษาอื่น จึงขอลงโค๊ดไว้ให้เป็นตัวอย่างเล็กน้อยเท่าันั้น
---------------------------------------------------------------------------------------------------
อันนี้โค๊ด wmi ใช้รันบน Lua For Windows Editor

โค๊ด: [Select]
require("iuplua")
require("luacom")

cWMI = {
  New = function (self)
    o = {}
    setmetatable (o,self)
    self.__index = self
    return o
  end,
-- ==========================
  Connect = function (self,computer,user,password)
    computer = computer or "."
-- =================================================
    if not user then
      self.oWMIService = luacom.GetObject ("winmgmts:{impersonationLevel=Impersonate}!\\\\" ..computer.. "\\root\\cimv2")
    else
      self.oWMIService = luacom.GetObject ( "winmgmts:\\\\" ..computer.. "\\root\\cimv2",user,password)
    end
-- =========================================================
    if not self.oWMIService then
      return nil,"Failed to connect to computer "..computer
    end
-- ==========================================================
    --refresher
    self.oRefresher = luacom.CreateObject ("WbemScripting.SWbemRefresher")
    self.oRefresher.AutoReconnect = 1
-- ================================================================
    -- memory
    self.refobjMemory = self.oRefresher:AddEnum(self.oWMIService,"Win32_PerfFormattedData_PerfOS_Memory").ObjectSet

    --drive
    self.refobjDisk = self.oRefresher:AddEnum(self.oWMIService,"Win32_PerfFormattedData_PerfDisk_LogicalDisk").ObjectSet
    self.oRefresher:Refresh ()
-- ==================================================================
    local cWMISettings = self.oWMIService:ExecQuery ("Select * from Win32_WMISetting")

    for index,item in luacomE.pairs (cWMISettings) do
      self.ver = item:BuildVersion ()
    end

    return self.ver
  end,

  GetFreeMemory = function (self)
    local x
    self.oRefresher:Refresh ()
    for index,item in luacomE.pairs (self.refobjMemory) do
      x = item:AvailableMBytes ()
    end
    return x or 0
  end,

  GetFreeDiskSpace = function (self,drive)
    local x,y
    self.oRefresher:Refresh ()
    for index,item in luacomE.pairs (self.refobjDisk) do
      if item:Name () == drive then
        x = item:FreeMegaBytes ()
    return x
      end
    end
    return 0,0
  end,

  CreateProcess = function (self,Process)
    local objProcess = self.oWMIService:Get("Win32_Process")
    return objProcess:Create (Process,nil,nil,nil)
  end
}

localWMI = cWMI:New ()
localWMI:Connect (".") -- connect to local machine using current user credentials
-- ===================================================
table={"Windows Version = "..localWMI.ver,
"Free Memory="..localWMI:GetFreeMemory ()..".MB",
"Free Disk(C:)="..localWMI:GetFreeDiskSpace ("C:")/1024 ..".G"}
iup.Message("Info", table[1].."\n"..table[2].."\n"..table[3])
-- ===================================================
print ("Windows Version = "..localWMI.ver)
print ("Free Memory = "..localWMI:GetFreeMemory ()..".MB")
print ("Free Disk(C:) = "..localWMI:GetFreeDiskSpace ("C:")/1024 ..".G".."\n")

Download: LuaCom WMI For AMS8 Sample Project Click here (ลงให้คราวหน้า)
+0 โดย  
« แก้ไขครั้งสุดท้าย: 12 มกราคม 12, 15:24:06 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #52 เมื่อ: 24 มกราคม 12, 23:27:18 »
โค๊ด Counter Timer แบบละเอียด ลองนำไปศึกษากันดูนะครับ
Download: CounterTimer + Flash DIGITAL Clock Project Click here
-----------------------------------------------------------------------------
sec = 0;
ssec = 0;
min = 0;
mmin = 0;       -- ตัวแปลทั้งหมดนี้ให้ประกาศไว้ที่ Global Function
hour = 0;
hhour = 0;
----------------------------------------------------------------------------
result = System.GetDate(DATE_FMT_EUROPE);
Paragraph.SetText("Paragraph1", result);
sec = sec + 1
Label.SetText("Label1", hhour..hour..":"..mmin..min..":"..ssec..sec);
if sec == 9 then
ssec = ssec + 1
sec = 0;
end
if ssec == 6 then
min = min + 1
ssec = 0;                       -- โค๊ดทั้งหมดนี้เขียนไว้ที่ Page Event On Timer
end
if min == 10 then
mmin = mmin + 1
min = 0;
end
if mmin == 6 then
hour = hour + 1
mmin = 0;
end
if hour == 10 then
hhour = hhour + 1
hour = 0;
end
if hhour == 2 and hour == 4 then
hour = 0;
hhour = 0;
end
---------------------------------------------------------------------------------------------------
result = System.GetDate(DATE_FMT_EUROPE);
Paragraph.SetText("Paragraph1", result);                  -- เขียนไว้ที่ Page Event On Show
----------------------------------------------------------------------------------------------------
Page.StartTimer(1000, 10);   -- เขียนไว้ที่ page Event On Load
---------------------------------------------------------------------------------------------------
+0 โดย  
« แก้ไขครั้งสุดท้าย: 24 มกราคม 12, 23:52:24 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #53 เมื่อ: 25 มกราคม 12, 02:15:15 »
ตัวอย่างการเขียนโค๊ดคำสั่ง String Format

ภาษา LUA
โค๊ด: [Select]
sec = os.date("%S")
min = os.date("%M")
hour = os.date("%H")
Label.SetText("Label1", string.format('%02i:%02i:%02i', hour, min, sec));
----------------------------------------------------------------------------------------------
AMS Action Script Wizard
โค๊ด: [Select]
Sec = System.GetTime(TIME_FMT_SEC);
Min = System.GetTime(TIME_FMT_MIN);
Hour = System.GetTime(TIME_FMT_HOUR);
Label.SetText("Label2", string.format('%02i:%02i:%02i',Hour, Min, Sec));
---------------------------------------------------------------------------------------------
อธิบาย:โค๊ดคำสั่ง String Format แบบละเอียด  (รันบน Page Event On Timer)
จะสังเกตุได้ว่า ใช้ format %01i แทน %02i
ถ้าใช้ 01i ..จะแสดงผลออกมาเป็นเลขเดี่ยว หรือ 0
ถ้าใช้ 02i ..จะแสดงผลออกมาเป็นเลขคู่ หรือ 00
Download:CounterTime Project Click here
โค๊ด: [Select]
sec = sec + 1
Label.SetText("Label1", string.format('%01i%01i:%01i%01i:%01d%01d', hhour, hour, mmin, min, ssec, sec));
if sec == 9 then
ssec = ssec + 1
sec = -1
end
if ssec == 6 then
min = min + 1
ssec = 0;
end
if min == 10 then
mmin = mmin + 1
min = 0;
end
if mmin == 6 then
hour = hour + 1
mmin = 0;
end
if hour == 10 then
hhour = hhour + 1
hour = 0;
end
if hhour == 2 and hour == 4 then
hhour = 0;
hour = 0;
end
+0 โดย  
« แก้ไขครั้งสุดท้าย: 25 มกราคม 12, 13:36:53 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #54 เมื่อ: 25 เมษายน 12, 17:48:34 »
ความรู้เพิ่มเติมเรื่อง การใส่ Background Sound ให้กับโปรแกรมที่สร้าง และรวมไปถึง Splash Screen

เรามาดูว่า Events หรือคำสั่งควบคุมของของโปรแกรม เช่น Page1 มีอะไรบ้าง?

และใช้ยังไง? Events ไหน? ที่เกี่ยวข้องกับ Background Sound และ Splash Screen
-----------------------------------------------------------------------------------------------
ให้ดูที่เมนูบนหน้าต่างโปรแกรม ..ที่ใช้งานบ่อยที่สุด คือ เมนู Page , เมนู Object และเมนู Project

เพราะบ่อยครั้งเราต้องเข้าไปในเมนูดังกล่าวนี้ เพื่อปรับแต่ง (Properties) อะไร?บางอย่างเพิ่มเติม

ติดดามกันไปเรื่อยๆ เดี๋ยวลง Sample Project ให้ดาวน์โหลดไปศึกษากัน


===================================================
ใส่ Background Sound ให้โปรแกรมที่สร้าง
 
1. คลิ๊กที่เมนู Project ..เลือก Audio...


2. คลิ๊กที่ปุ่ม Add... นำเข้าเพลงที่ต้องการใช้งาน ..คลิ๊ก OK

+0 โดย  
« แก้ไขครั้งสุดท้าย: 25 เมษายน 12, 23:33:53 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #55 เมื่อ: 25 เมษายน 12, 22:48:46 »
ใส่ background Sound ด้วยวิธีเขียนคำสั่ง Action Wizard

1. คลิ๊กที่เมนู Project ..เลือก Actions...

2. คลิ๊กที่ปุ่ม  Add Action

3. ที่ช่อง Step1 ..เลือก Audio

4. ที่ช่อง Step2 ..เลือก Audio.Load เขียนคำสั่งลงไปดังนี้

โค๊ด: [Select]
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\Windows XP Startup.wav", true, false);

=======================================================
Download: Background Sound and Splash Screen Image Sample Project Click here

 
+0 โดย  
« แก้ไขครั้งสุดท้าย: 26 เมษายน 12, 13:35:45 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #56 เมื่อ: 26 เมษายน 12, 15:20:43 »
การใช้งาน: Plugin WinApi

ถ้าใครสามารถเขียนคำสั่ง WinApi ได้จะสามารถสร้า้งสรรค์ผลงานที่แปลกแหวกแนวไม่เหมือนใครได้

Plugin คืออะไร?

Plugin คือ คำสั่ง Action สำเร็จรูปที่ถูกสร้างหรือเขียนขึ้น เมื่อนำมาติดตั้งใน ams8 จะช่วยให้ ams8 มีความสามารถมากขึ้น

Download: WinApiPlugin.exe+WinApi Sample Project คลิ๊กที่นี่

คำแนะนำ: ความใฝ่ฝันของท่านจะเป็นความจริงไปไม่ได้เลย ถ้า..ไม่ฝึำกเขียนคำสั่ง ไม่ศึกษาค้นคว้าเกี่ยวกับแนวการเขียนคำสั่ง

WinApi Animation Action Script
โค๊ด: [Select]
WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_FADEIN);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_FADEOUT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_LEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_LEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_RIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_RIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_TOP);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_TOP);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_BOTTOM);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_TOPLEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_TOPLEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_TOPRIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_TOPRIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_BOTTOMLEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_BOTTOMLEFT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEIN_BOTTOMRIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_SLIDEOUT_BOTTOMRIGHT);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_IMPLODE);
--WinApi.AnimateWindow(Application.GetWndHandle(), 1000, AW_EXPLODE);

Flag Constants Script : Add in Global Functions
โค๊ด: [Select]
-- WINAPI Constants For The WinApi Action Plugin
-- Instructions: Copy The Contents Of This File And Paste It Into Your Project's "Global Actions" Pane

-- !! DO NOT MODIFY ANY OF THE LINES BELOW


WS_OVERLAPPED                           = "0x00000000";
WS_POPUP                                = "0x80000000";
WS_CHILD                                = "0x40000000";
WS_MINIMIZE                             = "0x20000000";
WS_VISIBLE                              = "0x10000000";
WS_DISABLED                             = "0x08000000";
WS_CLIPSIBLINGS                         = "0x04000000";
WS_CLIPCHILDREN                         = "0x02000000";
WS_MAXIMIZE                             = "0x01000000";
WS_CAPTION                              = "0x00C00000";
WS_BORDER                               = "0x00800000";
WS_DLGFRAME                             = "0x00400000";
WS_VSCROLL                              = "0x00200000";
WS_HSCROLL                              = "0x00100000";
WS_SYSMENU                              = "0x00080000";
WS_THICKFRAME                           = "0x00040000";
WS_GROUP                                = "0x00020000";
WS_TABSTOP                              = "0x00010000";
WS_MINIMIZEBOX                          = "0x00020000";
WS_MAXIMIZEBOX                          = "0x00010000";
WS_TILED                                = "0x00000000";
WS_ICONIC                               = "0x20000000";
WS_SIZEBOX                              = "0x00040000";
WS_TILEDWINDOW                          = WS_OVERLAPPEDWINDOW;
WS_OVERLAPPEDWINDOW                     = "0x00000000|0x00C00000|0x00080000|0x00040000|0x00020000|0x00010000";
WS_POPUPWINDOW                          = "0x80000000|0x00800000|0x00080000";
WS_CHILDWINDOW                          = "0x40000000";



WS_EX_DLGMODALFRAME                     = "0x00000001";
WS_EX_NOPARENTNOTIFY                    = "0x00000004";
WS_EX_TOPMOST                           = "0x00000008";
WS_EX_ACCEPTFILES                       = "0x00000010";
WS_EX_TRANSPARENT                       = "0x00000020";
WS_EX_MDICHILD                          = "0x00000040";
WS_EX_TOOLWINDOW                        = "0x00000080";
WS_EX_WINDOWEDGE                        = "0x00000100";
WS_EX_CLIENTEDGE                        = "0x00000200";
WS_EX_CONTEXTHELP                       = "0x00000400";
WS_EX_RIGHT                             = "0x00001000";
WS_EX_LEFT                              = "0x00000000";
WS_EX_RTLREADING                        = "0x00002000";
WS_EX_LTRREADING                        = "0x00000000";
WS_EX_LEFTSCROLLBAR                     = "0x00004000";
WS_EX_RIGHTSCROLLBAR                    = "0x00000000";
WS_EX_CONTROLPARENT                     = "0x00010000";
WS_EX_STATICEDGE                        = "0x00020000";
WS_EX_APPWINDOW                         = "0x00040000";
WS_EX_OVERLAPPEDWINDOW                  = "0x00000100|0x00000200";
WS_EX_PALETTEWINDOW                     = "0x00000100|0x00000080|0x00000008";
WS_EX_LAYERED                           = "0x00080000";
WS_EX_NOINHERITLAYOUT                   = "0x00100000"; -- Disable inheritence of mirroring by children
WS_EX_LAYOUTRTL                         = "0x00400000"; -- Right to left mirroring
WS_EX_COMPOSITED                        = "0x02000000";
WS_EX_NOACTIVATE                        = "0x08000000";



GWL_WNDPROC                             = "-4";
GWL_HINSTANCE                           = "-6";
GWL_HWNDPARENT                          = "-8";
GWL_STYLE                               = "-16";
GWL_EXSTYLE                             = "-20";
GWL_USERDATA                            = "-21";
GWL_ID                                  = "-12";



CWP_ALL                                 = "0x0000";
CWP_SKIPINVISIBLE                       = "0x0001";
CWP_SKIPDISABLED                        = "0x0002";
CWP_SKIPTRANSPARENT                     = "0x0004";



SW_HIDE                                 = 0;
SW_SHOWNORMAL                           = 1;
SW_NORMAL                               = 1;
SW_SHOWMINIMIZED                        = 2;
SW_SHOWMAXIMIZED                        = 3;
SW_MAXIMIZE                             = 3;
SW_SHOWNOACTIVATE                       = 4;
SW_SHOW                                 = 5;
SW_MINIMIZE                             = 6;
SW_SHOWMINNOACTIVE                      = 7;
SW_SHOWNA                               = 8;
SW_RESTORE                              = 9;
SW_SHOWDEFAULT                          = 10;



GW_HWNDFIRST                            = 0;
GW_HWNDLAST                             = 1;
GW_HWNDNEXT                             = 2;
GW_HWNDPREV                             = 3;
GW_OWNER                                = 4;
GW_CHILD                                = 5;



BS_PUSHBUTTON                           = "0x00000000";
BS_DEFPUSHBUTTON                        = "0x00000001";
BS_CHECKBOX                             = "0x00000002";
BS_AUTOCHECKBOX                         = "0x00000003";
BS_RADIOBUTTON                          = "0x00000004";
BS_3STATE                               = "0x00000005";
BS_AUTO3STATE                           = "0x00000006";
BS_GROUPBOX                             = "0x00000007";
BS_USERBUTTON                           = "0x00000008";
BS_AUTORADIOBUTTON                      = "0x00000009";
BS_PUSHBOX                              = "0x0000000A";
BS_OWNERDRAW                            = "0x0000000B";
BS_TYPEMASK                             = "0x0000000F";
BS_LEFTTEXT                             = "0x00000020";
BS_TEXT                                 = "0x00000000";
BS_ICON                                 = "0x00000040";
BS_BITMAP                               = "0x00000080";
BS_LEFT                                 = "0x00000100";
BS_RIGHT                                = "0x00000200";
BS_CENTER                               = "0x00000300";
BS_TOP                                  = "0x00000400";
BS_BOTTOM                               = "0x00000800";
BS_VCENTER                              = "0x00000C00";
BS_PUSHLIKE                             = "0x00001000";
BS_MULTILINE                            = "0x00002000";
BS_NOTIFY                               = "0x00004000";
BS_FLAT                                 = "0x00008000";
BS_RIGHTBUTTON                          = "0x00000020";



CBS_SIMPLE                              = "0x0001";
CBS_DROPDOWN                            = "0x0002";
CBS_DROPDOWNLIST                        = "0x0003";
CBS_OWNERDRAWFIXED                      = "0x0010";
CBS_OWNERDRAWVARIABLE                   = "0x0020";
CBS_AUTOHSCROLL                         = "0x0040";
CBS_OEMCONVERT                          = "0x0080";
CBS_SORT                                = "0x0100";
CBS_HASSTRINGS                          = "0x0200";
CBS_NOINTEGRALHEIGHT                    = "0x0400";
CBS_DISABLENOSCROLL                     = "0x0800";
CBS_UPPERCASE                           = "0x2000";
CBS_LOWERCASE                           = "0x4000";



ES_LEFT                                 = "0x0000";
ES_CENTER                               = "0x0001";
ES_RIGHT                                = "0x0002";
ES_MULTILINE                            = "0x0004";
ES_UPPERCASE                            = "0x0008";
ES_LOWERCASE                            = "0x0010";
ES_PASSWORD                             = "0x0020";
ES_AUTOVSCROLL                          = "0x0040";
ES_AUTOHSCROLL                          = "0x0080";
ES_NOHIDESEL                            = "0x0100";
ES_OEMCONVERT                           = "0x0400";
ES_READONLY                             = "0x0800";
ES_WANTRETURN                           = "0x1000";
ES_NUMBER                               = "0x2000";



LBS_NOTIFY                              = "0x0001";
LBS_SORT                                = "0x0002";
LBS_NOREDRAW                            = "0x0004";
LBS_MULTIPLESEL                         = "0x0008";
LBS_OWNERDRAWFIXED                      = "0x0010";
LBS_OWNERDRAWVARIABLE                   = "0x0020";
LBS_HASSTRINGS                          = "0x0040";
LBS_USETABSTOPS                         = "0x0080";
LBS_NOINTEGRALHEIGHT                    = "0x0100";
LBS_MULTICOLUMN                         = "0x0200";
LBS_WANTKEYBOARDINPUT                   = "0x0400";
LBS_EXTENDEDSEL                         = "0x0800";
LBS_DISABLENOSCROLL                     = "0x1000";
LBS_NODATA                              = "0x2000";
LBS_NOSEL                               = "0x4000";
LBS_COMBOBOX                            = "0x8000";
LBS_STANDARD                            = "0x0001|0x0002|0x00200000|0x00800000";



SS_LEFT                                 = "0x00000000";
SS_CENTER                               = "0x00000001";
SS_RIGHT                                = "0x00000002";
SS_ICON                                 = "0x00000003";
SS_BLACKRECT                            = "0x00000004";
SS_GRAYRECT                             = "0x00000005";
SS_WHITERECT                            = "0x00000006";
SS_BLACKFRAME                           = "0x00000007";
SS_GRAYFRAME                            = "0x00000008";
SS_WHITEFRAME                           = "0x00000009";
SS_USERITEM                             = "0x0000000A";
SS_SIMPLE                               = "0x0000000B";
SS_LEFTNOWORDWRAP                       = "0x0000000C";
SS_OWNERDRAW                            = "0x0000000D";
SS_BITMAP                               = "0x0000000E";
SS_ENHMETAFILE                          = "0x0000000F";
SS_ETCHEDHORZ                           = "0x00000010";
SS_ETCHEDVERT                           = "0x00000011";
SS_ETCHEDFRAME                          = "0x00000012";
SS_TYPEMASK                             = "0x0000001F";



DS_ABSALIGN                             = "0x01";
DS_SYSMODAL                             = "0x02";
DS_LOCALEDIT                            = "0x20";   -- Edit items get local storage.
DS_SETFONT                              = "0x40";   -- User specified font for Dlg controls
DS_MODALFRAME                           = "0x80";   -- Can be combined with WS_CAPTION 
DS_NOIDLEMSG                            = "0x100";  -- WM_ENTERIDLE message will not be sent
DS_SETFOREGROUND                        = "0x200";  -- not in win3.1
DS_3DLOOK                               = "0x0004";
DS_FIXEDSYS                             = "0x0008";
DS_NOFAILCREATE                         = "0x0010";
DS_CONTROL                              = "0x0400";
DS_CENTER                               = "0x0800";
DS_CENTERMOUSE                          = "0x1000";
DS_CONTEXTHELP                          = "0x2000";
DS_SHELLFONT                            = "0x40|0x0008";



AW_FADEIN                               = "0x00080000"; -- fade-in
AW_FADEOUT                              = "0x00090000"; -- fade-out
AW_SLIDEIN_LEFT                         = "0x00040001"; -- slide in from left
AW_SLIDEOUT_LEFT                        = "0x00050002"; -- slide out to left
AW_SLIDEIN_RIGHT                        = "0x00040002"; -- slide in from right
AW_SLIDEOUT_RIGHT                       = "0x00050001"; -- slide out to right
AW_SLIDEIN_TOP                          = "0x00040004"; -- slide-in from top
AW_SLIDEOUT_TOP                         = "0x00050008"; -- slide-out to top
AW_SLIDEIN_BOTTOM                       = "0x00040008"; -- slide-in from bottom
AW_SLIDEOUT_BOTTOM                      = "0x00050004"; -- slide-out to bottom
AW_SLIDEIN_TOPLEFT                      = "0x00040005"; -- diagonal slide-in from Top-left
AW_SLIDEOUT_TOPLEFT                     = "0x0005000a"; -- diagonal slide-out to Top-left
AW_SLIDEIN_TOPRIGHT                     = "0x00040006"; -- diagonal slide-in from Top-Right
AW_SLIDEOUT_TOPRIGHT                    = "0x00050009"; -- diagonal slide-out to Top-Right
AW_SLIDEIN_BOTTOMLEFT                   = "0x00040009"; -- diagonal slide-in from Bottom-left
AW_SLIDEOUT_BOTTOMLEFT                  = "0x00050006"; -- diagonal slide-out to Bottom-left
AW_SLIDEIN_BOTTOMRIGHT                  = "0x0004000a"; -- diagonal slide-in from Bottom-right
AW_SLIDEOUT_BOTTOMRIGHT                 = "0x00050005"; -- diagonal slide-out to Bottom-right
AW_EXPLODE                              = "0x00040010"; -- explode
AW_IMPLODE                              = "0x00050010"; -- implode

-- GDI Constants

PS_SOLID                                = "0";
PS_DASH                                 = "1";   
PS_DOT                                  = "2";     
PS_DASHDOT                              = "3";     
PS_DASHDOTDOT                           = "4";     
PS_NULL                                 = "5";
PS_INSIDEFRAME                          = "6";
PS_USERSTYLE                            = "7";
PS_ALTERNATE                            = "8";
PS_STYLE_MASK                           = "0x0000000F";
PS_ENDCAP_ROUND                         = "0x00000000";
PS_ENDCAP_SQUARE                        = "0x00000100";
PS_ENDCAP_FLAT                          = "0x00000200";
PS_ENDCAP_MASK                          = "0x00000F00";
PS_JOIN_ROUND                           = "0x00000000";
PS_JOIN_BEVEL                           = "0x00001000";
PS_JOIN_MITER                           = "0x00002000";
PS_JOIN_MASK                            = "0x0000F000";
PS_COSMETIC                             = "0x00000000";
PS_GEOMETRIC                            = "0x00010000";
PS_TYPE_MASK                            = "0x000F0000";

TRANSPARENT                             = 1;
OPAQUE                                 = 2;

NULLREGION                              = 1;
SIMPLEREGION                            = 2;
COMPLEXREGION                           = 3;

WHITE_BRUSH                             = 0;
LTGRAY_BRUSH                            = 1;
GRAY_BRUSH                              = 2;
DKGRAY_BRUSH                            = 3;
BLACK_BRUSH                             = 4;
NULL_BRUSH                              = 5;
HOLLOW_BRUSH                            = 5;
WHITE_PEN                               = 6;
BLACK_PEN                               = 7;
NULL_PEN                                = 8;
OEM_FIXED_FONT                          = 10;
ANSI_FIXED_FONT                         = 11;
ANSI_VAR_FONT                           = 12;
SYSTEM_FONT                             = 13;
DEVICE_DEFAULT_FONT                     = 14;
DEFAULT_PALETTE                         = 15;
SYSTEM_FIXED_FONT                       = 16;
DEFAULT_GUI_FONT                        = 17;

ANSI_CHARSET                            = 0;
BALTIC_CHARSET                          = 186;
CHINESEBIG5_CHARSET                     = 136;
DEFAULT_CHARSET                         = 1;
EASTEUROPE_CHARSET                      = 238;
GB2312_CHARSET                          = 134;
GREEK_CHARSET                           = 161;
HANGUL_CHARSET                          = 129;
MAC_CHARSET                             = 77;
OEM_CHARSET                             = 255;
RUSSIAN_CHARSET                         = 204;
SHIFTJIS_CHARSET                        = 128;
SYMBOL_CHARSET                          = 2;
TURKISH_CHARSET                         = 162
VIETNAMESE_CHARSET                      = 163;
JOHAB_CHARSET                           = 130;
ARABIC_CHARSET                          = 178;
HEBREW_CHARSET                          = 177;
THAI_CHARSET                            = 222;

FW_DONTCARE                             = 0;
FW_THIN                                 = 100;
FW_EXTRALIGHT                           = 200;
FW_ULTRALIGHT                           = 200;
FW_LIGHT                                = 300;
FW_NORMAL                               = 400;
FW_REGULAR                              = 400;
FW_MEDIUM                               = 500;
FW_SEMIBOLD                             = 600;
FW_DEMIBOLD                             = 600;
FW_BOLD                                 = 700;
FW_EXTRABOLD                            = 800;
FW_ULTRABOLD                            = 800;
FW_HEAVY                                = 900;
FW_BLACK                                = 900;


-- Locale Info Constants

LOCALE_SYSTEM_DEFAULT                 = "1";            -- Default system locale.
LOCALE_USER_DEFAULT                 = "2";            -- Default user locale.

LOCALE_ILANGUAGE                        = "0x00000001";   -- language id
LOCALE_SLANGUAGE                        = "0x00000002";   -- localized name of language
LOCALE_SENGLANGUAGE                     = "0x00001001";   -- English name of language
LOCALE_SABBREVLANGNAME                  = "0x00000003";   -- abbreviated language name
LOCALE_SNATIVELANGNAME                  = "0x00000004";   -- native name of language
LOCALE_ICOUNTRY                         = "0x00000005";   -- country code
LOCALE_SCOUNTRY                         = "0x00000006";   -- localized name of country
LOCALE_SENGCOUNTRY                      = "0x00001002";   -- English name of country
LOCALE_SABBREVCTRYNAME                  = "0x00000007";   -- abbreviated country name
LOCALE_SNATIVECTRYNAME                  = "0x00000008";   -- native name of country
LOCALE_IDEFAULTLANGUAGE                 = "0x00000009";   -- default language id
LOCALE_IDEFAULTCOUNTRY                  = "0x0000000A";   -- default country code
LOCALE_IDEFAULTCODEPAGE                 = "0x0000000B";   -- default oem code page
LOCALE_IDEFAULTANSICODEPAGE             = "0x00001004";   -- default ansi code page
LOCALE_IDEFAULTMACCODEPAGE              = "0x00001011";   -- default mac code page
LOCALE_SLIST                            = "0x0000000C";   -- list item separator
LOCALE_IMEASURE                         = "0x0000000D";   -- 0 = metric, 1 = US
LOCALE_SDECIMAL                         = "0x0000000E";   -- decimal separator
LOCALE_STHOUSAND                        = "0x0000000F";   -- thousand separator
LOCALE_SGROUPING                        = "0x00000010";   -- digit grouping
LOCALE_IDIGITS                          = "0x00000011";   -- number of fractional digits
LOCALE_ILZERO                           = "0x00000012";   -- leading zeros for decimal
LOCALE_INEGNUMBER                       = "0x00001010";   -- negative number mode
LOCALE_SNATIVEDIGITS                    = "0x00000013";   -- native ascii 0-9
LOCALE_SCURRENCY                        = "0x00000014";   -- local monetary symbol
LOCALE_SINTLSYMBOL                      = "0x00000015";   -- intl monetary symbol
LOCALE_SMONDECIMALSEP                   = "0x00000016";   -- monetary decimal separator
LOCALE_SMONTHOUSANDSEP                  = "0x00000017";   -- monetary thousand separator
LOCALE_SMONGROUPING                     = "0x00000018";   -- monetary grouping
LOCALE_ICURRDIGITS                      = "0x00000019";   -- # local monetary digits
LOCALE_IINTLCURRDIGITS                  = "0x0000001A";   -- # intl monetary digits
LOCALE_ICURRENCY                        = "0x0000001B";   -- positive currency mode
LOCALE_INEGCURR                         = "0x0000001C";   -- negative currency mode
LOCALE_SDATE                            = "0x0000001D";   -- date separator
LOCALE_STIME                            = "0x0000001E";   -- time separator
LOCALE_SSHORTDATE                       = "0x0000001F";   -- short date format string
LOCALE_SLONGDATE                        = "0x00000020";   -- long date format string
LOCALE_STIMEFORMAT                      = "0x00001003";   -- time format string
LOCALE_IDATE                            = "0x00000021";   -- short date format ordering
LOCALE_ILDATE                           = "0x00000022";   -- long date format ordering
LOCALE_ITIME                            = "0x00000023";   -- time format specifier
LOCALE_ITIMEMARKPOSN                    = "0x00001005";   -- time marker position
LOCALE_ICENTURY                         = "0x00000024";   -- century format specifier (short date)
LOCALE_ITLZERO                          = "0x00000025";   -- leading zeros in time field
LOCALE_IDAYLZERO                        = "0x00000026";   -- leading zeros in day field (short date)
LOCALE_IMONLZERO                        = "0x00000027";   -- leading zeros in month field (short date)
LOCALE_S1159                            = "0x00000028";   -- AM designator
LOCALE_S2359                            = "0x00000029";   -- PM designator
LOCALE_ICALENDARTYPE                    = "0x00001009";   -- type of calendar specifier
LOCALE_IOPTIONALCALENDAR                = "0x0000100B";   -- additional calendar types specifier
LOCALE_IFIRSTDAYOFWEEK                  = "0x0000100C";   -- first day of week specifier
LOCALE_IFIRSTWEEKOFYEAR                 = "0x0000100D";   -- first week of year specifier
LOCALE_SDAYNAME1                        = "0x0000002A";   -- long name for Monday
LOCALE_SDAYNAME2                        = "0x0000002B";   -- long name for Tuesday
LOCALE_SDAYNAME3                        = "0x0000002C";   -- long name for Wednesday
LOCALE_SDAYNAME4                        = "0x0000002D";   -- long name for Thursday
LOCALE_SDAYNAME5                        = "0x0000002E";   -- long name for Friday
LOCALE_SDAYNAME6                        = "0x0000002F";   -- long name for Saturday
LOCALE_SDAYNAME7                        = "0x00000030";   -- long name for Sunday
LOCALE_SABBREVDAYNAME1                  = "0x00000031";   -- abbreviated name for Monday
LOCALE_SABBREVDAYNAME2                  = "0x00000032";   -- abbreviated name for Tuesday
LOCALE_SABBREVDAYNAME3                  = "0x00000033";   -- abbreviated name for Wednesday
LOCALE_SABBREVDAYNAME4                  = "0x00000034";   -- abbreviated name for Thursday
LOCALE_SABBREVDAYNAME5                  = "0x00000035";   -- abbreviated name for Friday
LOCALE_SABBREVDAYNAME6                  = "0x00000036";   -- abbreviated name for Saturday
LOCALE_SABBREVDAYNAME7                  = "0x00000037";   -- abbreviated name for Sunday
LOCALE_SMONTHNAME1                      = "0x00000038";   -- long name for January
LOCALE_SMONTHNAME2                      = "0x00000039";   -- long name for February
LOCALE_SMONTHNAME3                      = "0x0000003A";   -- long name for March
LOCALE_SMONTHNAME4                      = "0x0000003B";   -- long name for April
LOCALE_SMONTHNAME5                      = "0x0000003C";   -- long name for May
LOCALE_SMONTHNAME6                      = "0x0000003D";   -- long name for June
LOCALE_SMONTHNAME7                      = "0x0000003E";   -- long name for July
LOCALE_SMONTHNAME8                      = "0x0000003F";   -- long name for August
LOCALE_SMONTHNAME9                      = "0x00000040";   -- long name for September
LOCALE_SMONTHNAME10                     = "0x00000041";   -- long name for October
LOCALE_SMONTHNAME11                     = "0x00000042";   -- long name for November
LOCALE_SMONTHNAME12                     = "0x00000043";   -- long name for December
LOCALE_SMONTHNAME13                     = "0x0000100E";   -- long name for 13th month (if exists)
LOCALE_SABBREVMONTHNAME1                = "0x00000044";   -- abbreviated name for January
LOCALE_SABBREVMONTHNAME2                = "0x00000045";   -- abbreviated name for February
LOCALE_SABBREVMONTHNAME3                = "0x00000046";   -- abbreviated name for March
LOCALE_SABBREVMONTHNAME4                = "0x00000047";   -- abbreviated name for April
LOCALE_SABBREVMONTHNAME5                = "0x00000048";   -- abbreviated name for May
LOCALE_SABBREVMONTHNAME6                = "0x00000049";   -- abbreviated name for June
LOCALE_SABBREVMONTHNAME7                = "0x0000004A";   -- abbreviated name for July
LOCALE_SABBREVMONTHNAME8                = "0x0000004B";   -- abbreviated name for August
LOCALE_SABBREVMONTHNAME9                = "0x0000004C";   -- abbreviated name for September
LOCALE_SABBREVMONTHNAME10               = "0x0000004D";   -- abbreviated name for October
LOCALE_SABBREVMONTHNAME11               = "0x0000004E";   -- abbreviated name for November
LOCALE_SABBREVMONTHNAME12               = "0x0000004F";   -- abbreviated name for December
LOCALE_SABBREVMONTHNAME13               = "0x0000100F";   -- abbreviated name for 13th month (if exists)
LOCALE_SPOSITIVESIGN                    = "0x00000050";   -- positive sign
LOCALE_SNEGATIVESIGN                    = "0x00000051";   -- negative sign
LOCALE_IPOSSIGNPOSN                     = "0x00000052";   -- positive sign position
LOCALE_INEGSIGNPOSN                     = "0x00000053";   -- negative sign position
LOCALE_IPOSSYMPRECEDES                  = "0x00000054";   -- mon sym precedes pos amt
LOCALE_IPOSSEPBYSPACE                   = "0x00000055";   -- mon sym sep by space from pos amt
LOCALE_INEGSYMPRECEDES                  = "0x00000056";   -- mon sym precedes neg amt
LOCALE_INEGSEPBYSPACE                   = "0x00000057";   -- mon sym sep by space from neg amt
LOCALE_FONTSIGNATURE                    = "0x00000058";   -- font signature
LOCALE_SISO639LANGNAME                  = "0x00000059";   -- ISO abbreviated language name
LOCALE_SISO3166CTRYNAME                 = "0x0000005A";   -- ISO abbreviated country name
LOCALE_IDEFAULTEBCDICCODEPAGE           = "0x00001012";   -- default ebcdic code page
LOCALE_IPAPERSIZE                       = "0x0000100A";   -- 1 = letter, 5 = legal, 8 = a3, 9 = a4
LOCALE_SENGCURRNAME                     = "0x00001007";   -- english name of currency
LOCALE_SNATIVECURRNAME                  = "0x00001008";   -- native name of currency
LOCALE_SYEARMONTH                       = "0x00001006";   -- year month format string
LOCALE_SSORTNAME                        = "0x00001013";   -- sort name
LOCALE_IDIGITSUBSTITUTION               = "0x00001014";   -- 0 = context, 1 = none, 2 = national

SND_SYNC                                = "0x0000";
SND_ASYNC                               = "0x0001";

+0 โดย  
« แก้ไขครั้งสุดท้าย: 26 เมษายน 12, 16:26:36 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #57 เมื่อ: 24 พฤษภาคม 12, 17:56:25 »
WinApiPlugin มีคำสั่ง Action Wizard ให้เราเลือกใช้มากมาย

แต่ละคำสั่ง ท่านตัองเรียนรู้ด้วยตนเองเป็นบื้องต้นจากคู่มือ HTML help.chm ก่อน

ทำไม่ได้ หรือไม่เข้าใจตรงไหนก็ pm หรือ โฟสท์ถาม

บทความนี้ลงให้เฉพาะบางคำสั่งที่ต้องใช้งานเท่านั้น




+0 โดย  
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #58 เมื่อ: 24 พฤษภาคม 12, 18:47:19 »
วิธีใช้งาน WinApiPlugin ใน AutoPlay Media Studio 8

เปิดโปรแกรม AutoPlay Media Studio 8 และเลือกสร้างเทมเพลทเปล่าขึ้นมา

1. เปิดไฟล์ WinApiConstants.lua ด้วย Notepad จากนั้น ก๊อบปี้คำสั่ง Constants ทั้งหมด ไปวางไว้ที่ Global Functions
   
คลิ๊กที่เมนู Project เลือก Global Functions.. จากนั้นก็วางคำสั่ง Constants ลงไปบน Editor คลิ๊ก OK

หรือจะใช้วิธีวางคำสั่ง Constants บางคำสั่งที่ต้องใช้งานไว้กับคำสั่ง Action Wizard ที่เขียนเลยก็ได้

2. เปิดใช้งาน Action Plugin คลิ๊กที่เมนู Project เลือก Plugins.. จากนั้นใส่เครื่องหมายถูกที่ WinApi คลิ๊ก OK

3. เลือกคำสั่ง Action Wizard ที่ต้องการใชังาน เขียนลงบน Form Event Editor และให้เหมาะสมกับ Event นั้นๆ

เพราะว่า Form มี Event ให้เลือกใช้อยู่หลายลักษณะ หลายสถานะการณ์ เช่น
   
On PreLoad  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานพร้อมกับคำสั่งโหลดโปรแกรม :: Example Click here

On Show  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานพร้อมกับการโชว์หน้าต่างของโปรแกรม :: Example Click here

On Close  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานพร้อมกับการปิดโปรแกรม :: Example Click here

On Timer  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานตามช่วงเวลาที่กำหนด :: Example Click here

On Audio  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อมีเสียงใดๆเกิดขึ้นที่โปรแกรม :: Example Click here

On Size  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อขนาดของหน้าต่างเปลี่ยนไป :: Example Click here

On Menu  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อคลิ๊กที่หน้าต่าง :: Example Click here

On Key  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อกดที่ปุ่มใดๆที่คีย์บอร์ด :: Example Click here

On Mouse Button  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อกดปุ่มใดๆที่เม๊าท์ :: Example Click here

On Mouse Move  หมายถึง คำสั่งใดๆที่เขียนไว้จะทำงานเมื่อลากเม๊าท์ :: Example Click here

Download: WinApi Animation_AMS8_ Sample Click here

คำแนะนำ: ผู้ที่สามารถเขียนโปรแกรมด้วยAMS8 ต้องฝึกทักษะในการออกแบบคำสั่งด้วยตนเอง

                จึงจะสามารถเขียนโปรแกรมตามที่ตนเองต้องการได้ ผู้อื่นทำแทนไม่ได้ แต่ให้คำปรึกษาได้

                ควรฝึกหัดเขียนสคริ๊ปคำสั่ง ภาษา Lua (*.lua , *.wlua) และ Action Wizard ให้ชำนาญ

                แล้วการสร้างโปรแกรมดัวย AMS8 จะไม่มีอะไรที่ยากสำหรับท่าน.

ขอเน้นย้ำอีกครั้งว่า.. การสร้างโปรแกรมโปรเจ็กต์ใดๆ ที่ทำแล้วไม่สำเร็จ แล้วพับเก็บไว้

ไม่ถาม ไม่แก้ไขทำให้สำเร็จ มีแต่เสีย ไม่มีได้  คือ เสียอารมณ์ เสียความรู้สึก และ เสียเวลา


               



 
+0 โดย  
« แก้ไขครั้งสุดท้าย: 25 พฤษภาคม 12, 16:57:03 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..

sak2005

  • เว็บดีไซน์เนอร์

  • 7983
  • Coolfirms

  • โพสต์: 1,969
  • zula: 3731.75
  • *
  • สมาชิกกิตติมศักดิ์
  • ตำแหน่ง:ครูผู้ให้

  • OS: WindowsBrowser: Firefox

  • ออฟไลน์ วันนี้ เวลา 01:12
Re: การเขียน Script Action Wizard & Plugin ใน AutoPlay Media Studio 7, 8 (ภาค3)
« ตอบกลับ #59 เมื่อ: 25 พฤษภาคม 12, 17:49:11 »
อธิบายความหมายในเมนูออฟชั่นที่ต้องใช้งานบ่อย เช่น Page , Dialog , Object , Project และ Publish

เมนูต่างๆเหล่านี้ ท่านสามารถเปิดใช้งานเมนูต่างๆ ด้วยการคลิ๊กขวา (RightClick) ที่เม๊าท์ได้

การฝึกใช้งานที่กรอบทางซ้ายมือ คือ Project Explorer และ Properties จะสดวกและรวดเร็วกว่า
=======================================================
Menu: Page

ความต้องการใช้งานเมนูนี้ มักเกี่ยวข้องกับสร้างโปรแกรมที่มีหลายๆหน้าต่าง (multi page)

และลิ๊งค์เชื่อมโยง (jump) หน้าต่างๆถึงกัน เช่น -

Add หมายถึง เพิ่มหรือสร้างหน้าต่างใหม่ขึ้นมา ซึ่งหมายถึง Page2 หรือมากกว่านี้ก็ได้

และเพจที่เพิ่มเติมขึ้นมา ไม่สามารถเปลี่ยนแปลงขนาดของหน้าต่างได้ จะมีขนาดเท่ากับเพจแรก
=========================================================
Menu: Dialog

Dialog หมายถึง หน้าต่างหรือเพจสำเร็จรูป ใช้ทำหน้าที่เดียวกันกับการสร้างเพจใหม่

สามารถเปลี่ยนขนาดของหน้าต่างตามที่ต้องการได้ ใน Action Wizard จะใช้ชื่อเป็น DialogEx
=========================================================
Menu: Object

Object หมายถึงสิ่งต่างๆที่สามารถนำมาวางไว้บนหน้าต่างโปรแกรมได้ เช่น Label , Button เป็นต้น

           ถ้า Page ปราศจาก Object ก็จะไม่เรียกว่าเป็นโปรแกรม คล้ายกับสมุดที่ไม่ได้เขียนอะไรไว้
==========================================================
Menu: Project

เมนูนี้เกี่ยวข้องกับ โปรแกรม โปรเจ็กต์ ที่กำลังสร้าง

ทำหน้าที่นอกเหนือจาก Page ที่ไม่สามารถทำได้ เช่น -

ใส่  Background Sound ,  Movie , เปลี่ยนแปลงขนาดของ Page หรือใส่เพจ Style  เป็นต้น
==========================================================
Menu: Publish

เมนูนี้ใช้ทำหน้าที่อยู่2ประการ

1. ทดสอบรันโปรแกรม (Preview)

2. Compile หรือ Build ให้ได้ผลงานตามที่ต้องการ เช่น
 
   - ผลงานสำหรับเขียนลงแผ่น
   
   - ผลงานเก็บไว้ใช้ในฮาร์ดดิสก์

   - ผลงานทำเป็นโปรแกรมไฟล์ SFX.exe นำไปใช้ที่อื่น (เป็นไฟล์exeชนิดดูข้อมูลภายในได้)
   
   - ผลงานทำเป็นอิมเมทไฟล์ ISO หรือบีบอัดไฟล์ผลงานเก็บไว้เบิร์น (เขียนลงแผ่นภายหลัง)
 
+0 โดย  
« แก้ไขครั้งสุดท้าย: 25 พฤษภาคม 12, 19:29:52 โดย sak2005 »
จำเป็นต้องใช้ FlashPlayer

คำคม: เมื่อเวลาเปลี่ยน.. ทุกอย่างเปลี่ยน..