Yaklaşık bir yıldır yazılım geliştirme uzmanı olarak çalıştığım Link Bilgisayar’dan dün itibariyle ayrıldım. Dolaysıyla bugün işsizim; ama bu sadece bir gün sürecek J Çünkü yarın itibariyle de yazılım geliştirme kariyerime Bizitek’te devam ediyor olacağım. Hayırlı, uğurlu olsun J
|
Kodsal yolla windowsun sistem renklerini değiştirebilmek için user32.dll API’si ve ona ait SetSysColors fonksiyonu kullanılmaktadır. Windowsdaki mevcut tanımlanmış renklerin kodlarını da aynı API’den GetSysColor ile alabiliriz. Bu fonksiyonları projelerimizde kullanabilmek için aşağıdaki gibi tanımlıyoruz.C# için; [DllImport("user32.dll")] [DllImport("user32.dll")] VB.NET içinse; Declare Function SetSysColors Lib “user32″ (ByVal nChanges As Integer, ByRef lpSysColor As Integer, ByRef lpColorValues As Integer) As Long Declare Function GetSysColor Lib “user32″ (ByVal nIndex As Long) As Long Set işlemi yapılırken verilen parametreler sıra ile değiştirilmek istenen renk sayısı, değiştirilecek olan renk dizisi, ve bu renklerin yeni değerleridir. Renk bilgisini ise sabit tanımlanmış değişkenlerden verebilmekteyiz. Ve bunlar sıra ile şunlardır: COLOR_SCROLLBAR – 0 : Scrollbar rengi COLOR_BACKGROUND – 1 : Masaüstü rengi COLOR_DESKTOP – 1 : Masaüstü rengi COLOR_ACTIVECAPTION – 2 : Aktif pencere başlığında sol taraftaki renk (gradient aktif ise) COLOR_INACTIVECAPTION – 3 : Pasif pencere(ler)in başlığında sol taraftaki renk (gradient aktif ise) COLOR_MENU – 4 : Menü arkaplan rengi COLOR_WINDOW – 5 : Pencere arkaplan rengi COLOR_WINDOWFRAME – 6 : Pencere çerçevesinin rengi COLOR_MENUTEXT – 7 : Menülerdeki yazı rengi COLOR_WINDOWTEXT – 8 : Penceredeki yazı rengi COLOR_CAPTIONTEXT – 9 : Pencere başlık yazısının rengi COLOR_ACTIVEBORDER – 10 : Aktif pencerenin çerçeve rengi COLOR_INACTIVEBORDER – 11 : Pasit pencere(ler)in çerçeve rengi COLOR_APPWORKSPACE – 12 : MDI uygulamaların arkaplan rengi COLOR_HIGHLIGHT – 13 : Seçili alan (SelectedItem) arkaplan rengi COLOR_HIGHLIGHTTEXT – 14 : Seçili alan yazısının rengi COLOR_BTNFACE – 15 : 3D nesnelerin görünen yüzünün ve dialag boxların arkaplan rengi COLOR_3DFACE –15 : 3D nesnelerin görünen yüzünün ve dialag boxların arkaplan rengi COLOR_BTNSHADOW – 16 : 3D nesneler için gölge rengi COLOR_3DSHADOW – 16 : 3D nesneler için gölge rengi COLOR_GRAYTEXT – 17 : Gri (disable edilmiş) yazı rengi COLOR_BTNTEXT – 18 : Buton üzerindeki yazıların rengi COLOR_INACTIVECAPTIONTEXT – 19 : Pasif başlıklardaki yazının rengi COLOR_BTNHIGHLIGHT – 20 : Butonun 3D isaretlenmesi rengi COLOR_3DHIGHLIGHT – 20 : 3D nesneler için seçim rengi COLOR_3DHILIGHT – 20 : 3D nesneler için seçim rengi COLOR_3DDKSHADOW – 21 : 3D nesneler için koyu gölge rengi COLOR_3DLIGHT – 22 : 3D nesneler için açık gölge rengi COLOR_INFOTEXT – 23 : Tooltiplerin yazı rengi COLOR_INFOBK – 24 : Tooltiplerin arka plan rengi COLOR_HOTLIGHT – 26 : Tıklanmış hyperlinklerin rengi COLOR_GRADIENTACTIVECAPTION – 27 : Aktif pencere başlığında sol taraftaki renk (gradient aktif ise). Gradient özellikleri için SPI_GETGRADIENTCAPTIONS fonksiyonu kullanılabilir. COLOR_GRADIENTINACTIVECAPTION – 28 : Pasif pencere(ler)in sağ taraftaki renk (gradient aktif ise) COLOR_MENUHILIGHT – 29 : Flat menüde seçili alan rengi (Windows 2000’de desteklenmemektedir.) COLOR_MENUBAR – 30 : Flat menü çubuğunun arka plan rengi (Windows 2000’de destekelenmemektedir.) Kod içerisinden yukarıdaki sabitlerden yararlanılarak mevcut renk değerleri okunanabilir (get) ve ya değiştirilebilir (set). Örneğin grafik uygulamalarımızda windows renkleriyle ile çizim-yazı vs yapmamız gerekebilir. Bu tip durumlarda GetSysColor ile istediğimiz renk bilgisini elde ebiliriz. Mesela masaüstü rengini şöyle alabiliriz: uint a = GetSysColor(1); //uint a = GetSysColor(COLOR_DESKTOP);
İlave olarak .NET ortamından windows renklerine ulaşmak için SystemColors sınıfından da yararlanabiliriz. Ancak bu sınıftan sadece okuma yapabildiğimiz için bu renkleri değiştirmek istersek SetSysColors fonksiyonunu kullanmamız gerekecektir. (Yapılan değişiklik windows genelinde etkili olacaktır.) Örneğin seçili alan (selecteditem) rengini şöyle değiştirebiliriz: SetSysColors(1, COLOR_HIGHLIGHT, RGB(0, 100, 0)); //SetSysColors(1,13,RGB(0,100,0)); RGB kodları içinde RGB-Hexadecimal renk tablosuna bakılabilir. Oyun firması Ubisoft tarafından yapılmasına başlanan Lost oyununun ilk görüntüleri yayınlandı. Yaklaşık bir dakika süren görüntülerden oyunun First Person Action (FPA) türünde dizayn edildiğini anlıyoruz. Dizi ile aynı mantığa sahip oyunda bir adaya düşen oyuncular bu adada hayatta kalmak için savaşacakmış. Dizideki ana karakterlerle diyalog içinde, bilinmezlikleri çözerek ilerlemeyi gerektiren oyun dizinin geçtiği mekanları da içeriyor. Oyunun çıkış tarihi ise Lost’un dördüncü sezonunun da başlangıcı olan 2008 Şubat ayı olarak belirlenmiş. Kaynak: www.teknoajan.com .NET ortamından windows bileşenlerine ulaşmak ve windowsun hali hazırda yaptığı işlemlere ulaşmak, kullandığı fonksiyonları bizim de kullanabilmemiz için windows API lerden yararlanırız. Bu anlamda kullanacağımız API listesine Platform Invoke (P/Invoke) sitesinden ulaşabiliriz. Görev çubuğundaki (taskbar) uygulamalara ulaşabilmek için de user32.dll API’sinden yararlanıyoruz. C# uygulamarında API tanımlarını DllImport attribute’u ile yapıyoruz: [DllImport("user32.dll")] Burada user32.dll API’si içinde yeralan GetWindowText fonksiyonunu projemizde kullanacağımızı bildiriyoruz. Örnek uygulamamızda yer alan EnumWindows fonksiyonu ile windowsta açık olan pencerelerin listesini elde ediyoruz. EnumWindowsProc ile de bu ekranlarda tek tek dolaşarak başlığını GetWindowText fonksiyonu ile alıyoruz. Ve bu değerleri bir listboxa yazdırıyoruz. Geçenlerde maille ile ulaşan bu resmi görünce çok etkilendim. İçin de bulunduğumuz dönem itibariyle çok anlam içeriyordu benim için. (siyasi değil, Temmuz ayı yani yaz) Halbuki şimdi o muhteşem güneşin altında ay ve yıldız arasında denize girmek hiç de fena olmazdı yani. Ama maalesef işyeri politikasından ötürü bu yaz tatile çıkamıyorum. Ayrıca bu resmi bana göndererek beni ne kadar mutlu(!) eden sevgili dostum Atakan ÖZTÜRK’e teşekkürler… LOST 6. sezonun ne zaman başlayacağını mı merak ediyorsunuz? Kaç gün kaldı diye sabırsızlanıyor musunuz? O zaman bu merakınızı gidermek için yapılmış olan geri sayım sayacını sitenize buradan ekleyebilirsiniz. Yan tarafta bir örneğini görebileceğiniz sayaçın 3 farklı boyutu bulunuyor ve kaç gün – saat kaldığını gösteriyor. Yazılım devi Microsoft, veritabanı yönetim sistemi olan SQL Server’ın en yeni versiyonu olan SQL Server 2008′e özel bir isim atadı ve çıkış zamanını açıkladı. SQL Server 2008′in çıkış zamanı olarak 2008′in ikinci çeyreği gösterildi. Resmi olarak kullanılma zamanı ise 27 Şubat 2008. Denver’da gerçekleştirilen Worldwide Partner Conference’da, beklenen zamandan ileride bir tarihin açıklanmasının nedeni olarak; bazı stratejik değişiklikler öne sürüldü. Bunun yanı sıra, SQL Server 2008, “Katmai” özel ismiyle bilinecek. Kaynak: http://shiftdelete.net Wordpress ile blog olayına girdikten sonra eklentileri incelemeye başladım. Çok okuyan birisi olarak okuduğum kitaplar hakkında görüşlerimi paylaşmak istiyordum. Now Reading eklentisi bu iş için mükemmel oldu. Eklentiyi Türkçe’leştiren Umut Doğan’a da buradan ayrıca teşekkürler. Kullanımını sağ taraftaki barda “Ne Okuyorum” başlığı altında görebilirsiniz. Kitapları eklerken ISBN numarasından Amazon’dan aratıyor ve girmenize kolaylık sağlıyor. Tabi çeviri kitaplarda sorun olmazken Türkçe kitaplarda zorluk yaşanıyor ve manuel girilmek zorunda kalınıyor. Web blog olayına blogcu ile giriş yaptıktan sonra, an itibariyle kendi domain adresimle buradan devam edeceğimi bildirmekten zevk duyarım. Bugüne kadar kullandığım blogcu’daki sayfam yaşamaya devam edecektir; ancak bundan sonra güncellenmeyecektir. Ayrıca, blogcuda yer alan yazılarımı aynı kronolojide buradan da takip edebilirsiniz. |

Entries (RSS)