Electron İle Menü Yapımı

King Kong

Kıdemli Üye
19 Mar 2017
2,392
10
Merhaba Arkadaşlar... Electron'u Anlatmama Gerek Yok Sanırım Bugün Electron İle Nasıl Menü Yapılır Onu Anlatacağım.


Öncelikle Bir app.js Ve Bir Tanede index.html Dosyası Açınız.

Daha Sonra app.js'ye Gelin Ve Aşağıdaki Kodları Yazın Kodların Açıklamalarını Yanına Ve Konunun Aşağısına Yazacağım.

Kod:
[COLOR="yellowgreen"]const {app,BrowserWindow,Menu} = require('electron')
var path = require('path')
var url = require('url')
app.on('ready',function(){
    var window = new BrowserWindow({width:800,height:600})
    window.loadURL(url.format({
        pathname:path.join(__dirname, "notepad.html"),
        protocol:'file',
        slashes: true
    }))// Pencere Oluşturduk

    window.setTitle("THT Konu") // Pencerenin Başlığını Belirledik.
    const template = [
        {   
            label:"Dosya",
            submenu:[
                { label:"Aç", click: function() { window.webContents.executeJavaScript("window.alert('Aç Butonu Çalıştı')") }, accelerator: 'Ctrl + S' },
                { label:"Yeni", click: function() { console.log("Yeni") }, accelerator: 'Ctrl + N' },
                { label:"Farklı Kaydet", click: function() { console.log("Farklı Kaydet") }, accelerator: 'Ctrl + Alt + S' },
                { label:"Kapat", click: function() { app.quit() }, accelerator: 'Ctrl + W' },
        ],
        }
    ]// Menü Template'ini Oluşturduk

    const menu = Menu.buildFromTemplate(template) // Menüyü Build Ettik
    Menu.setApplicationMenu(menu) // Uygulamanın Menüsünü Belirledik.
})[/COLOR]

index.html'yi Kendinize Göre Doldurun Onunla İşimiz Yok... Daha Sonra Cmd'ye Gelip electron . Yapıp Projeyi Başlatırsanız Çalıştığını Görürsünüz.

Kod Açıklamaları:

Kod:
[COLOR="yellowgreen"]const template = [
        {   
            label:"Dosya",
            submenu:[
                { label:"Aç", click: function() { window.webContents.executeJavaScript("window.alert('Aç Butonu Çalıştı')") }, accelerator: 'Ctrl + S' },
                { label:"Yeni", click: function() { console.log("Yeni") }, accelerator: 'Ctrl + N' },
                { label:"Farklı Kaydet", click: function() { console.log("Farklı Kaydet") }, accelerator: 'Ctrl + Alt + S' },
                { label:"Kapat", click: function() { app.quit() }, accelerator: 'Ctrl + W' },
        ],
        }
    ][/COLOR]
1.Kısımda template Değişkeni Oluşturduk
2. Kısımda İse label Menünün İsmi.
3. Kısımdaki submenu İse Menünün Alt Menüsü.
4. Kısımda İse yine label ile alt menünün İsmini Belirledik. click ise tıklanınca fonksiyon çalıştırmamıza yarıyor. accelerator İse Kısayol Eklemenize Olanak Tanıyor.



Örnek Resimler:
mMoXMZ.png

jg6qgD.png

BazOaQ.png


 
Son düzenleme:

ksc10

Katılımcı Üye
29 Ocak 2016
414
2
Burdan
electron e ku "çarçoveya jssel" ye ku destnîşan kir ku dîskera dîsketê
-kurdish
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.