Di VB, formulir MDI (MultipleDocumentInterface, program multi-jendela) didefinisikan seperti ini: "Formulir MDI berfungsi sebagai jendela latar belakang suatu program dan berisi formulir dengan atribut MDIChild yang disetel ke True." Dalam program VB, paling banyak terdapat satu formulir induk MDI, dan dapat terdapat beberapa formulir turunan MDI. Metode untuk membuat formulir induk MDI adalah dengan memilih "NewMDIForm" di menu File VB.
Saat program MDI berjalan, jika jendela anak terdapat menu, maka ketika jendela anak diaktifkan, menu jendela anak akan otomatis menggantikan menu jendela induk; bila jendela anak diminimalkan, jendela anak akan muncul di MDI jendela induk.
Munculnya antarmuka grafis universal Windows memungkinkan pengguna komputer untuk menggunakan berbagai perangkat lunak Windows dengan mudah tanpa pembelajaran khusus; tidak hanya itu, ini juga merupakan standar yang harus diikuti oleh perancang program saat merancang antarmuka program Windows perancang program, memungkinkan mereka untuk fokus pada pemecahan dan implementasi masalah.
Kemunculan Visual Basic semakin menyederhanakan desain antarmuka program Windows. Hanya sejumlah kecil kode yang diperlukan untuk mengimplementasikan antarmuka aplikasi Windows standar. Namun, jika Anda tidak memahami prinsip-prinsip desain antarmuka program Windows, atau tidak terbiasa dengan keterampilan pemrograman antarmuka di bawah VB, akan sulit merancang dan mengimplementasikan antarmuka yang sesuai dengan standar umum dan unik. Prinsip Perancangan Antarmuka Perancangan antarmuka mempunyai prinsip umum, yang terpenting adalah:
Antarmuka harus konsisten. Prinsip konsistensi adalah yang paling mudah dilanggar dalam desain antarmuka, dan juga paling mudah untuk dimodifikasi dan dihindari. Misalnya, terminologi yang sama harus digunakan dalam menu dan kotak dialog bantuan online harus memiliki gaya yang sama.
Harus ada jalan pintas untuk operasi umum. Operasi umum sering digunakan dan panjang urutan operasi harus dikurangi. Misalnya, atur tombol pintasan untuk operasi file umum seperti membuka, menyimpan, dan menyimpan sebagai. Menyediakan pintasan untuk operasi umum tidak hanya akan meningkatkan efisiensi kerja pengguna, tetapi juga membuat antarmuka menjadi sederhana dan efisien dalam implementasi fungsional.
Berikan penanganan kesalahan sederhana. Sistem harus memiliki kemampuan penanganan kesalahan. Sistem harus mampu mendeteksi kesalahan ketika terjadi dan menyediakan kemampuan penanganan kesalahan yang sederhana dan mudah dipahami. Status sistem tidak berubah setelah terjadi kesalahan, atau sistem perlu memberikan panduan pemulihan kesalahan.
Memberikan umpan balik informasi. Harus ada umpan balik informasi untuk operasi penting operator. Tidak ada persyaratan untuk umpan balik pada operasi yang umum digunakan dan sederhana, tetapi untuk operasi yang jarang digunakan dan penting, sistem harus memberikan umpan balik informasi.
Pengoperasiannya dapat dibalik. Operasi ini harus bersifat reversibel. Hal ini berguna bagi operator tanpa pengetahuan khusus. Tindakan yang dapat dibalik dapat berupa operasi tunggal atau rangkaian operasi yang relatif independen.
Bantuan online yang dirancang dengan baik. Meskipun bantuan online tidak penting bagi pengguna terampil, bantuan online memainkan peran yang sangat penting bagi sebagian besar pengguna tidak terampil.
Prinsip dan Pemrograman Desain Menu
Perancangan menu mempunyai prinsip umum sebagai berikut:
Atur menu sesuai dengan fungsi sistem.
Pilih pohon menu yang lebar dan dangkal daripada pohon menu yang sempit dan dalam.
Kelompokkan pilihan menu menurut artinya; dan urutkan menurut aturan tertentu. Judul pilihan menu harus singkat, jelas, dan sebaiknya dimulai dengan kata kunci.
Tombol pintasan perlu diatur untuk opsi yang sering digunakan. Menggabungkan prinsip-prinsip di atas, pemrograman menu memiliki teknologi dan teknik berikut:
Pengelompokan pilihan menu
Di VB, pengelompokan pilihan menu dicapai dengan membagi bilah menu dengan garis horizontal. Tambahkan item menu dengan atribut Caption "" pada posisi tertentu dalam menu, dan item tersebut akan muncul sebagai garis horizontal pada menu. Dalam banyak kasus, menu fungsi yang sama dapat dibagi menjadi beberapa kelompok sesuai dengan fungsi pilihan menu. Dalam hal ini, garis pemisah horizontal dapat digunakan untuk mengelompokkan item menu.
Pengaturan tombol pintas untuk opsi umum
Buka jendela desain menu (MenuDesignWindow). Harus ada daftar tombol pintas (Shortcut) yang sesuai untuk setiap opsi menu. Perlu dicatat bahwa tombol pintas untuk menu dengan submenu atau menu tingkat atas tidak dapat ditentukan dengan cara ini. Menurut prinsip desain antarmuka Windows, tombol pintas untuk menu atas berbentuk tombol huruf Alt. Metode penerapannya akan dijelaskan nanti.
Untuk beberapa item menu fungsi yang umum digunakan, terdapat tombol pintasan konvensional. Misalnya gunakan CTRL O untuk membuka file, CRTL S untuk menyimpan file, CTRL P untuk mencetak, dan sebagainya.
Setelah menentukan tombol pintasan untuk opsi menu, representasi teks dari tombol pintasan muncul di belakang opsi pada menu.
Mengaktifkan dan menonaktifkan, opsi menu yang terlihat dan tersembunyi Untuk mengekspresikan beberapa fungsi khusus dari opsi menu, atribut opsi menu yang diaktifkan dan dinonaktifkan, terlihat dan tersembunyi dapat digunakan. Ketika fungsi yang diwakili oleh suatu opsi tidak dapat direalisasikan karena alasan tertentu, opsi tersebut dilarang untuk dipilih. Opsi menu diaktifkan dan dinonaktifkan dengan mengubah atribut Diaktifkan pada opsi. Misalnya, dengan asumsi opsi menu bernama nmuName, menonaktifkan opsi ini dapat diterapkan sebagai berikut:
mnuName.Enabled=Salah
Dengan cara yang sama, Anda dapat menyembunyikan opsi dengan menggunakan
mnuName.Visible=Salah
Untuk mencapai hal ini, untuk membuat opsi tersembunyi terlihat lagi gunakan
mnuName.Visible=Benar
menyelesaikan.
Menyembunyikan dan mengembalikan visibilitas item menu sering digunakan dalam implementasi menu dinamis.
Pemuatan item menu secara dinamis
Pemuatan item menu secara dinamis berarti jumlah item menu tidak tetap dan dapat dimuat secara dinamis bila diperlukan. Contoh paling sederhana adalah daftar file yang baru dibuka di menu File. Sebelum membuka file untuk pertama kali, daftarnya kosong dan tidak muncul di menu file; setelah membuka file, daftarnya tidak lagi kosong, dan item menu yang mewakili file yang dibuka muncul di menu file.
Dalam contoh di atas, atribut subskrip (Indeks), atribut judul (Caption), atribut terlihat (Visible) dari item menu dan metode pemuatan (LoadMethod) dari item menu digunakan secara komprehensif.
Proses implementasi spesifiknya adalah sebagai berikut:
Tambahkan item menu ke menu file dengan judul sewenang-wenang, dan asumsikan bahwa atribut Nama item menu adalah opens_files_list;
Ubah atribut yang terlihat dari item menu opens_files_list sehingga opens_files_list.Visible=False
Ubah atribut subskrip item menu opens_files_list sehingga
open_files_files_list.Indeks=0
Kontrol pemuatan dinamis item menu opens_files_list dalam program.
Misalkan Anda ingin menampilkan nama file dari file kedua yang telah dibuka, dan nama file tersebut disimpan dalam array nama file opens_file_name. Kode berikut mengimplementasikan fungsi ini:
Memuat_file_daftar_terbuka(1)
open_files_lise(1).Caption="&2" open_file_name(1)
open_files_list(1).Terlihat=Benar
Perlu diperhatikan bahwa metode Load tidak dapat digunakan untuk item menu yang subskripnya 0. Karena item menu telah dimuat ke dalam memori saat program dijalankan, karakter "&" pada karakter atribut judul item menu memiliki arti khusus, dan fungsinya untuk menampilkan string atribut pada saat yang sama, "&" itu sendiri tidak ditampilkan, tetapi karakter yang tepat setelah "&" ditampilkan dengan garis bawah, dan karakter tersebut menjadi hotkey.
Jika item menu yang indeksnya bukan 0 tidak diperlukan lagi, untuk mengurangi penggunaan sumber daya memori, Anda dapat menggunakan metode Unload untuk mengeluarkannya dari memori, demikian pula, Anda tidak dapat menggunakan Unload untuk membongkar item menu yang indeksnya adalah 0.
Implementasi menu pop-up (PopupMenuMethod)
Menu yang dirancang pada jendela desain menu (MenuDesignWindow) di VB adalah menu drop-down. Menu drop-down adalah menu yang dapat ditarik pengguna setelah melakukan pilihan pada bilah menu atas kapan saja, sedangkan menu pop-up adalah menu yang muncul setelah mengklik tombol mouse di area tertentu. antarmuka program. Dalam beberapa kasus, menu pop-up dapat membuat fungsi sistem lebih ringkas dan efisien, sehingga lebih mudah digunakan.
Menu pop-up program Widnows umumnya muncul ketika pengguna mengklik tombol mouse di desktop program. Menu pop-up sebagian besar digunakan untuk mengimplementasikan fungsi tambahan atau peningkatan sistem. Isi menu pop-up dapat berubah tergantung di mana tombol mouse diklik. Karena menu pop-up akan menutupi sebagian layar, teks dalam menu harus dipersingkat sebanyak mungkin.
Di VB, implementasi menu pop-up memerlukan penggunaan teknologi desain menu drop-down dan metode PopupMenu. Metode spesifiknya adalah:
Rancang menu pop-up dari formulir yang sesuai di jendela desain menu (MenuDesignWindow). Perlu dicatat bahwa menu yang akan muncul harus memiliki setidaknya satu submenu; oleh karena itu menu ini tidak boleh memiliki tombol pintas, dan atribut yang Diperiksa harus False. Kemudian ubah properti Visible menu pop-up menjadi False.
Tambahkan kode berikut ke Form_Click formulir dengan menu pop-up yang dirancang (dengan asumsi properti Nama menu pop-up adalah mnuExample):
SubFormulir_Klik()
Contoh Menu Popup
Sub Akhir
Jika Anda mengharuskan menu hanya dapat diaktifkan dengan menekan tombol kiri atau kanan mouse, Anda harus menambahkan kode berikut ke Form_MouseDown:
SubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
IfButton=2thenButton=2 berarti tombol kanan mouse
Contoh Menu Popup
AkhirJika
Sintaks lengkap PopupMenu adalah:
[Formulir.]PopupMenumenuname[flags[,x[,y]]]
Mengubah nilai bendera dapat mengontrol tampilan menu pop-up. Bendera memiliki dua set nilai. Kumpulan nilai pertama digunakan untuk mengontrol mode tampilan menu, termasuk POPUPMENU_LEFTALIGNPOPUPMENU_CENTERALIGN dan POPUPMENU_RIGHTALIGN, yang masing-masing mewakili mode tampilan dengan x sebagai batas kiri, x sebagai tengah, dan x sebagai batas kanan. Dan menggunakan x sebagai batas kiri adalah metode default; kumpulan nilai lain digunakan untuk mengontrol metode pemilihan item menu, termasuk POPUPMENU_LEFTBUTTON dan POPUPMENU_RIGHTBUTTON, yang masing-masing menunjukkan pilihan klik kiri dan pilihan klik kiri/kanan, dan pilihan klik kiri adalah cara default. Nilai Flags diperoleh dengan meng-ORing dua set nilai di atas. Misalnya, jika tampilan harus rata kiri dan tombol kiri dipilih, maka tampilannya harus:
bendera=POPUPMENU_LEFTALIGNORPOPUPMENU_LEFTBUTTON
x dan y digunakan untuk menentukan posisi menu pop-up. Defaultnya adalah posisi titik mouse.
Properti item menu lainnya
Gunakan tombol huruf ALT untuk mengaktifkan menu tingkat atas, atau gunakan tombol huruf untuk mengaktifkan item menu setelah menu diaktifkan. Anda harus belajar menggunakan &. & digunakan dalam atribut judul (Caption) item menu. Penggunaan dan fungsinya sama dengan program Windows yang dikompilasi dalam bahasa C.
Terkadang Anda ingin jarak antar menu tingkat atas lebih besar, atau menu tingkat atas muncul di ujung kanan bilah menu. Dalam hal ini, Anda perlu menggunakan menu yang atribut judulnya berupa spasi. Jika judul menu terdiri dari beberapa spasi, maka menu tersebut akan menempati ruang yang sesuai dengan jumlah spasi pada bilah menu, dan menu di belakangnya juga akan dipindahkan kembali secara berurutan jika properti Terlihat dari menu ini adalah Salah, maka seolah-olah tidak ada.
Prinsip desain jendela dan contohnya
Di bawah ini adalah contoh teknologi jendela mengambang. Untuk menarik perhatian pengguna, atau untuk memastikan bahwa jendela yang berisi informasi penting tidak tercakup oleh jendela lain, teknologi jendela mengambang digunakan untuk membuat jendela "TopMost". Metode spesifiknya adalah:
(1) Tambahkan pernyataan berikut ke program VB:
DeklarasikanFunctionSetWindowPosLib"pengguna"(Byvalh,Byvalhb,Byvalx,Byvaly,By
valcx,Byvalcy,Byvalf)AsInteger
GlobalConstSWP_NOMOVE=2
GlobalConstSWP_NOSIZE=1
GlobalConstHWND_TOPMOST=1
GlobalConstHWND_NOTOPMOST=2
GlobalConstFLAGS=SWP_NOMOVEAtauSWP_NOSIZE
(2) Misalkan Anda ingin mengatur form frmExample menjadi jendela yang selalu berada di depan. Atur saja form tersebut di Form_Load dari form frmExample.
Tambahkan kode berikut ke proses:
Kemerosotan
sukses=SetWindowPos(frmExample.hWnd,HWND_TOPMOST,0,0,0,0,FLAGS)
Jika Anda ingin membatalkan fitur yang selalu di atas, Anda dapat mengeksekusi kode berikut:
sukses=SetWindowPos(frmExample.hWnd,HWND_NOTOPMOST,0,0,0,0,FLAGS)
Sukses tidak sama dengan 0, artinya SetWindowPos berhasil dijalankan.
Dalam program MDI, satu jendela adalah jendela induk dari semua jendela lainnya, dan setiap jendela anak menyelesaikan fungsi yang relatif independen, seperti kombinasi beberapa alat independen. Dalam hal ini, MSWord dan FileManager Windows adalah contoh terbaik. ->