Form Ekran Boyutunu Taşıyor

Katılım
17 Nisan 2006
Mesajlar
86
Kendi bilgisayarımda normal ekran boyutunda kalan programı şirkette başka bir bilgisayarda çalıştırdığım zaman form boyutu ekran boyutunu taşıyor yani form ekran dışına taşıyor. Nedeni ne olabilir? Nasıl engelleyebilirm? Yardımcı olursanız sevinirim. Şirkette programı kurduğum bütün bilgisayarlarda aynı problemi görüyorum.
 

realperest

Altın Üye
Katılım
5 Kasım 2004
Mesajlar
154
Altın Üyelik Bitiş Tarihi
09-05-2025
mrb,

o ekranların çözünürlüğü senin programı yaptığın çözürlükten küçüktür ve o sebeple oluyordur mesela sen 1024*768 de yapmışsındır , o ekranlar 800*600 de çalışıyordur.

visual basic ile bunu hallediyordun. ama access te bende bi ara araştırdım ve bir sonuç bulamayınca ............. kendi ekran çözünürlüğüm yüksek te olsa daha küçük ekran çözünürlüklerine sıgacak gibi yapıyordum formları.


belki çok daha derin bir çözüm olabilir, kodla falan halledilebilir ama ben o zaman araştırdığımda bulamamıştım.

keşke bilen birileri olsa ........
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Hele biraz forumu araştırın. Burada yok yok!
 

realperest

Altın Üye
Katılım
5 Kasım 2004
Mesajlar
154
Altın Üyelik Bitiş Tarihi
09-05-2025
sayın modalı,

formun açılışında ölçülerini verebiliriz ama galiba arkadaşın dediği

strech form gibi yani diyelim ki formun size ayarlarını yaptık ama peki formun üzerindeki komut düğmelerini, metin kutularını onun yeni ölçülerine göre dağıtabiliyormuyuz yani ? bunu mu kastediyorsunuz ?


O zaman çok iyi ....
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Evet bunu kastediyorum. Açılışta çözünürlüğü alıyor ve formları ona göre açıyor.

İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Deme yaa.... Ben de böyle birşey görmedim access'te... Delphi'de falan gördüm ama Access sonuçta veri tabanı uygulaması falan diye düşünmüştüm. Acaba formları ikişer kere tasarlama falan mı?.. Yoksa aynı formu ekran çözünürlüğüne göre mi açıyor.. İkincisiyse çok iyi.. Ama birinci şıksa -Deli Emin'in Vizotele'de dediği gibi- "Şerrefsizim aklıma gelmişti..." :))
 
Katılım
17 Nisan 2006
Mesajlar
86
Private Declare Function apiGetSys Lib "user32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Private Const SM_CXSCREEN = 0 Private Const SM_CYSCREEN = 1 Private Const SM_CXVSCROLL = 2 Private Const SM_CYHSCROLL = 3 Private Const SM_CYCAPTION = 4 Private Const SM_CXBORDER = 5 Private Const SM_CYBORDER = 6 Private Const SM_CXDLGFRAME = 7 Private Const SM_CYDLGFRAME = 8 Private Const SM_CYVTHUMB = 9 Private Const SM_CXHTHUMB = 10 Private Const SM_CXICON = 11 Private Const SM_CYICON = 12 Private Const SM_CXCURSOR = 13 Private Const SM_CYCURSOR = 14 Private Const SM_CYMENU = 15 Private Const SM_CXFULLSCREEN = 16 Private Const SM_CYFULLSCREEN = 17 Private Const SM_CYKANJIWINDOW = 18 Private Const SM_MOUSEPRESENT = 19 Private Const SM_CYVSCROLL = 20 Private Const SM_CXHSCROLL = 21 Private Const SM_DEBUG = 22 Private Const SM_SWAPBUTTON = 23 Private Const SM_RESERVED1 = 24 Private Const SM_RESERVED2 = 25 Private Const SM_RESERVED3 = 26 Private Const SM_RESERVED4 = 27 Private Const SM_CXMIN = 28 Private Const SM_CYMIN = 29 Private Const SM_CXSIZE = 30 Private Const SM_CYSIZE = 31 Private Const SM_CXFRAME = 32 Private Const SM_CYFRAME = 33 Private Const SM_CXMINTRACK = 34 Private Const SM_CYMINTRACK = 35 Private Const SM_CXDOUBLECLK = 36 Private Const SM_CYDOUBLECLK = 37 Private Const SM_CXICONSPACING = 38 Private Const SM_CYICONSPACING = 39 Private Const SM_MENUDROPALIGNMENT = 40 Private Const SM_PENWINDOWS = 41 Private Const SM_DBCSENABLED = 42 Private Const SM_CMOUSEBUTTONS = 43 Private Const SM_CMETRICS = 44 Function fGetSysStuff(strWhat As String) As String Dim strRet As String Select Case LCase(strWhat) Case "resolution": strRet = apiGetSys(SM_CXSCREEN) & "x" _ & apiGetSys(SM_CYSCREEN) Case "windowsize": strRet = apiGetSys(SM_CXFULLSCREEN) & "x" _ & apiGetSys(SM_CYFULLSCREEN) End Select fGetSysStuff = strRet End FunctionQUOTE' Alıntı:
Sn. Modalı,

Komutu modüle ekledikten sonra her form için komut düğmesi mi oluşturcağız? Eğer öyle ise benim yapmaya çalıştığım sistem de yaklaşık 100 tane form var. Hayli zor olacak gibi görünüyor. Bunun yanında kullanıcı sisteme giriş yaparken bütün formlar için yukarıdaki kodu uygula gibi bir çözüm yolu mümkün mü?

Uygulama ve örnekler kısmında eklediğiniz bir örnek var aslında ama Modüllerin bulunduğu kısım MDE formatında olduğundan görüntüleyemiyorum. Ayrıca örnekte iki tane Access uygulaması hazırlamışsınız. Ama ben çalıştıramadım. MDE dosyasını referanslardan tanıtmamız gerektiğini belirtmişsiniz bunu nasıl yapacağız?

Bu modülleri direkt uygulamamızın içine atsak gene çözüm üretme şansımız var mı yoksa sizin yaptığınız gibi mutlaka iki uygulama ile çalışmak durumunda mıyız?

Anlayışınız ve yardımlarınız için şimdiden teşekkür eder iyi çalışmalar dilerim.
 
Katılım
2 Nisan 2006
Mesajlar
230
modalı kardeş bu konuya detaylı bir şekilde el atsanda bir sorunumuzu daha senin bilginle çözsek.
şimdiden teşekürler.
 

realperest

Altın Üye
Katılım
5 Kasım 2004
Mesajlar
154
Altın Üyelik Bitiş Tarihi
09-05-2025
hakkatten formun her yerinde bu konu ile ilgili kod bulunuyor ama, sorununu tam olarak çözen hiç kimse yok

ben mesela KOD DEPOSU ndaki kodu kullanarak modül oluşturdum ama orda da bi problem var , yada belki ben biyerde acemilik yapmış olabilirim çünkü modül ve fonksiyonlarda pek tecrübeli değilim.

bunun en basit halini birisi örnek haline getirirse çok iyi bi şey yapmış olacak.
 

realperest

Altın Üye
Katılım
5 Kasım 2004
Mesajlar
154
Altın Üyelik Bitiş Tarihi
09-05-2025
mrb,

bende kod deposunda bulduğum bir kod anlatımını baz alarak bir örnek oluşturmaya çalıştım ama beklediğim gibi çıkmadı. Acaba ben mi yanlış anlıyorum. BENİM ARADIĞIM FORMUN EKRAN ÇÖZÜNÜRLÜĞÜNE GÖRE KENDİSİNİ EKRANA SIĞDIRMASI VE BUNU YAPARKEN KAYDIRMA ÇUBUĞU FALAN EKLEMEMESİ

ama galiba benim hazırladığım bununla ilgili değil, örneği ekte gönderiyorum.


SEYKOK senin kodunu ise ilk defa görüyorum, sende kod deposunda mı buldun yoksa başka bi yerden mi ?
 
Katılım
17 Nisan 2006
Mesajlar
86
Kodu başka bir formdan aldım. Fakat denedim olmadı bu işin içinden ben bir türlü çıkamadım işin aslı.
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
yahu konuyu dallandırıp budaklandırıp kafanızı ve de kafamızı karıştırıyorsunuz.

aslında çok basit bir olaymış gibi geliyor bana.

hazır kod bulucam diye çırpınmayı bırakıp, sakinleşip, ne olması gerektiğini öncelikle bir düşünelim:

1- bir form hazırladık.

2- bu form, her çözünürlükte ekrana sığmalı.

işte 2 madde sadece.

2. madde üzerinde yoğunlaşacağız demekki.

formun küçüldüğünü düşünelim biran için. bu esnada hangi olayları gerçekleştirmemiz lazım?

1- çözünürlüğe göre bir oran bulunacak,

2- ana formun genişliği yüksekliği bu orana göre değiştirilecek,

3- form üzerindeki tüm kontrollerin;
3.1 genişliği
3.2 yüksekliği
3.3 sol başlangıcı
3.4 üst başlangıcı
3.5 formda kullanılan yazıların fontları
değiştirilecek.

4- ve böylece mutlu sona ulaşılacak.

5- formun büyüdüğünü düşünelim.

6- 3 ve 4. maddeler gerçekleşecek.

işte bu kadar basit. (değil mi?)
 
Katılım
17 Nisan 2006
Mesajlar
86
Sayın Yeni54,

İyi güzel söylüyorsunuz ama sizin hazırladığınız sistemde 100 farklı form ve ayrıca 6 kullanıcı var ise ve siz herşeyi hazırlamış sadece bu konuya takılmış iseniz sizin çözüm yolunuz hayli uzun zaman alan bir çözüm olmayacak mı?
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
form sayısının ve kullanıcı sayısının ne önemi var?

veritabanında bir tablo yaptığında, bu tablonun verilerinin artmasına göre programı değiştiriyor musun sürekli? tabii ki hayır.

bu da öyle işte.

bir modül yapıcan ve bu modülü çağırıp duracan.

ha 100 form olmuş ha n form.

ha 1 kişi kullanmış, ha n kişi.

önce bir form için yukarıdaki olayı gerçeklştir gerisi kolay.
 

realperest

Altın Üye
Katılım
5 Kasım 2004
Mesajlar
154
Altın Üyelik Bitiş Tarihi
09-05-2025
abicim dahası da var hazır kodu, modülü hepsi hazır ama olmuyor benim demek istediğim o

yani acaba ben mi soruyu yanlış anlıyorum diye merak ediyorum ben.

SEYKOK , evet yeni54 ün dediği gibi sen form sayısına falan takma, bir modül halinde duracak bu veritabanının içinde sen her formun yüklendiğinden olayına girip

call modülünadı diycen bu kadar yani, tabii 100 tane yine az sayı değil ama yani hepsine tek tek kod yazmana gerek kalmayacak.

tabiii önce bir olduğunu görebilsek.
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
realperest. hazır kodların hepsini at.

forma bir adet buton koy

formun boyutu değiştikçe butonun boyutunu değiştiren kodu yaz.

başlangıç bu olacak.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın arkadaşlar,

Kendinizi çok paralıyorsunuz gibi geliyor.

Bu başlığın 7. cevabında sn. SEYKOK daha önce forumda verilmiş bir uygulama ekledi. Onu incelediniz mi?

Uygulamayı açın, ilk açılan form herşeyi anlatıyor. Form denemeyi açın, orada yazılan en ve boyu kaydedin, sonra kapatın ekran çözünürlüğünü değiştirip tekrar açın, formun en ve boyu aynı zamanda içindeki tüm elemanların da boyutu değişmiş oluyor. Siz de bunu istemiyor musunuz?

Çalışma prensibine gelince:

Beraberinde eklenmiş bir ldb dosyası var, bunun içnde gerekli class modülü var. Bu klas modül uygulama tarfından kullanılıyor. Aynı zamanda bir de görünmeyen form var form screen info. Bunu isterseniz açılış kodundan hideen ı değiştirip görebilirsiniz. Bunda da açılacak formla ilgili bilgileri üstünde tutuyor, ve bu bilgiler kullanılıyor.

Gelelim class modülü tanıtmaya:

Normal referensları inceler gibi pencereyi açıyorsunuz, sağdan ekle diyorsunuz, beraber gelen RHresize dosyasını bulup ok liyorsunuz, böylece oradaki class modül sizin uygulama tarafından tanınıp kullanılıyor.

İşlem bu kadar.:hihoho:
 
Katılım
17 Nisan 2006
Mesajlar
86
Sn. Modalı,

Mde uzantılı ilk dosya çalışıyor fakat formun olduğu dosya açılmıyor hata veriyor ayrıca MDE uzantılı dosyaların detaylarına giremiyorum
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayıb SEYKOK,


Sizin eklediğiniz yerdn tekrar indirdim. Siz mdb dosyasını açacaksınız. Diğerini açmazsanız da olur. Açabilmek için Access i açın Dosy aç tan açmanız gerekiyor.

İyi çalışmalar
 
Katılım
17 Nisan 2006
Mesajlar
86
Sn. Modalı,

Ben sizin çözüm önerinizi kendi sistemimde uygulamayı başaramadım. Ekte kendi dosyamı gönderiyorum. Sizden rica etsem ekteki dosyada bir uygulama yapmanız mümkün olur mu?
 
Üst