Membangun Menu,
Modul, Dialog dan MessageBoxes
Pada
Bab 6, penulis (John W. Rittinghouse dan Joh Nicholson) akan
mengajarkan Anda untuk menggunakan kombinasi menu, messagebox dan
dialog standar. Tutorial pada bab ini dipaket dalam satu proyek yang
dinakan “MenuProject”.
Hampir
setiap program berbasis GUI yang Anda temui akan menggunakan beberapa
kombinasi menu, messageboxes, dan dialog standar untuk berkomunikasi
dengan pengguna.
Berikut
adalah screenshot untuk proyek yang dibangun pada tutorial Bab 6 :
Dan
secara bertahap dengan akan jelaskan secara ringkas dan jelas,
sehingga kita mengetahui alur logika pemrogramannya.
Listing
lengkapnya akan dihadirkan pada akhir bab, dan menurutku sebagai
penerjemah disarankan untuk tidak langsung ke listing akhirnya untuk
belajarnya, lebih baik ikuti secara bertahap sebagaimana penulis ini
menjelaskannya. Mengapa demikian ? Agar kita mengetahui dan memahami
alur logika dan menghindarkan kesalahan listing yang akan terjadi
jika akan mengembangkan proyek pemrograman selanjutnya.
Berikut listing lengkapnya :
'
Gambas class file
'
declare a global variable to be used with our SetColorName module
ColorName
AS String 'A global variable does not
use the DIM keyword, and it must come before
'the
PUBLIC SUB Form_Open() statement.
PUBLIC
SUB Form_Open()
ME.Caption
= " Working with Menus "
END
PUBLIC
SUB QuitBtn_Click()
FMain.Close
END
PUBLIC
SUB Menu1Item1_Click()
Dialog.Title
= "Choose a foreground color"
Dialog.SelectColor
ColorName
= Module1.SetColorName(Dialog.Color)
TextLabel1.ForeColor =
Dialog.Color
TextLabel1.Text
= "<b>Color selected was</b> " & ColorName
& "."
END
PUBLIC
SUB Menu1Item2_Click()
Dialog.Title
= "Choose a background color"
Dialog.SelectColor
ColorName
= Module1.SetColorName(Dialog.Color)
TextLabel1.BackColor =
Dialog.Color
TextLabel1.Text
= "<b>Color selected was</b> " & ColorName
& "."
END
PUBLIC
SUB Menu1Item3_Click()
DIM
fontdata AS font
DIM
oldfontdata AS Font
DIM
attr AS String
DIM
sel AS String
attr
= ""
oldfontdata
= TextLabel1.Font
Dialog.Title = " Pick a
font... "
Dialog.SelectFont
fontdata
= Dialog.Font
IF
fontdata.Italic THEN
sel = " Italic"
attr
= attr & sel
ENDIF
IF
fontdata.Bold THEN
sel
= " Bold"
attr
= attr & sel
ENDIF
IF
fontdata.Strikeout THEN
sel
= " Strikeout"
attr
= attr & sel
ENDIF
IF
fontdata.Underline THEN
sel
= " Underline"
attr
= attr & sel
ENDIF
ENDIF
TextLabel1.Font
= fontdata
TextLabel1.Text
= "Font: " & fontdata.Name & ", " &
Str(Round( WAIT 5.0
SELECT
Message.Question("Keep new font?", "Yes","No","Don
CASE 1
TextLabel1.Text = "This
is now the default font."
CASE
2
TextLabel1.Font = oldfontdata
TextLabel1.Text = "Reverted
to previous font setting."
CASE
3
TextLabel1.Font = oldfontdata
TextLabel1.Text = "No
change was made to default font."
END
SELECT
END
PUBLIC
SUB Menu2Item1_Click()
IF
Menu2Item1.Checked THEN
Menu2Item1.Checked = FALSE
ELSE
Menu2Item1.Checked = TRUE
ENDIF
Message.Info("Here is
some information to consider.")
END
PUBLIC
SUB subMenuItem1_Click()
Message.Error("Wow! This
was a mistake.")
END
PUBLIC
SUB subMenuItem2_Click()
Message.Warning("You have
been warned about this!")
END
PUBLIC
SUB subMenuItem3_Click()
SELECT
Message.Delete("Delete?", "Yes","No","Cancel")
CASE
1
TextLabel1.Text = "Deleted
it"
CASE
2
TextLabel1.Text = "Not
Deleted"
CASE
3
TextLabel1.Text = "Cancelled!"
END
SELECT
END
PUBLIC
SUB Menu4Item1_Click()
Message.Info("This is all
about<br><b> Gambas Programming</b>!")
END
Listing
Mmain.module
'
Gambas module file
PUBLIC
FUNCTION SetColorName ( iVal AS Integer) AS String
DIM
rval AS String 'A local variable must be
dimensioned in the FUNCTION or SUB before the first executable
command.
SELECT
iVal
CASE
Color.Black
rval
= "Black"
CASE
Color.Blue
rval
= "Blue"
CASE
Color.Cyan
rval
= "Cyan"
CASE
Color.DarkBlue
rval
= "DarkBlue"
CASE
Color.DarkCyan
rval
= "DarkCyan"
CASE
Color.DarkGray
rval
= "DarkGray"
CASE
Color.DarkGreen
rval
= "DarkGreen"
CASE
Color.DarkMagenta
rval
= "DarkMagenta"
CASE
Color.DarkRed
rval
= "DarkRed"
CASE
Color.DarkYellow
rval
= "DarkYellow"
CASE
Color.Gray
rval
= "Gray"
CASE
Color.Green
rval
= "Green"
CASE
Color.LightGray
rval
= "LightGray"
CASE
Color.Magenta
rval
= "Magenta"
CASE
Color.Orange
rval
= "Orange"
CASE
Color.Pink
rval
= "Pink"
CASE
Color.Red
rval
= "Red"
CASE
Color.Transparent
rval
= "Transparent"
CASE
Color.Violet
rval
= "Violet"
CASE
Color.White
rval
= "White"
CASE
Color.Yellow
rval
= "Yellow"
DEFAULT
rval
= Str$(ival) & " and it is not a predefined color constant"
END
SELECT
RETURN
rval
END
Silahkan download file lengkapnya di Google Drive saya Terjemahan Gambas 3 Bab 6
Tidak ada komentar:
Posting Komentar