• 19-09-2012, 13:13:01
    #1
    Üyeliği durduruldu
    merhaba arkadaşlar,

    yapmış olduğumuz asp.net tabanlı projemizde çift monitor kullanımına ihtiyacımız var (extend[genişlet] modda), masaüstü uygulamalarda bu kolay bir şekilde yapılabilirken web projelerinde anladığım kadarıyla pek kolay birşey değil.

    - javascipt ile popup açıp diğer monitore itme uyguladığımda popup penceresi ekranımın dışına çıkamıyor
    - flash ile yapalım dedik bilene sorduk flash client tabanlı çalıştığı için yapılamaz diye yanıt aldık
    - silverlight denedik bir türlü beceremedik

    bilgisi olan varsa ücretli/ücretsiz yardımcı olursa çok sevinirim
  • 19-09-2012, 13:56:50
    #2
    Üyeliği durduruldu
    ekran çözünürlüğü büyütüp ekranın en sağından başaltmayı denedinizmi
  • 19-09-2012, 14:05:27
    #3
    Üyeliği durduruldu
    her türlü denedim kendi monitorumun dışına move ile çıkamıyor, ama mouse ile tutup çektiğimde gidiyor
  • 30-09-2012, 23:38:35
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Flash İle Mumkun hocam " flash.display.Screen class" olayı çözecektir "screen" attach komutuna 1 , 2 , 3 gibi sıralı monitor tanıtabilirsiniz. screen için monitor numarasını girmeniz yeterli uygulamanız o monitor içerisinde çalışacak kolaygelsin

    Adobe Sitesinden Örnek Kod :
    Alıntı
    package {
    import flash.display.Sprite;
    import flash.display.Screen;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;

    public class ScreenExample extends Sprite
    {
    public function ScreenExample()
    {
    stage.align = StageAlign.TOP_LEFT;
    stage.scaleMode = StageScaleMode.NO_SCALE;

    stage.addEventListener(KeyboardEvent.KEY_DOWN,onKe y);
    }

    private function onKey(event:KeyboardEvent):void{
    if(Screen.screens.length > 1){
    switch(event.keyCode){
    case Keyboard.LEFT :
    moveLeft();
    break;
    case Keyboard.RIGHT :
    moveRight();
    break;
    case Keyboard.UP :
    moveUp();
    break;
    case Keyboard.DOWN :
    moveDown();
    break;
    }
    }
    }

    private function moveLeft():void{
    var currentScreen = getCurrentScreen();
    var left:Array = Screen.screens;
    left.sort(sortHorizontal);
    for(var i:int = 0; i < left.length - 1; i++){
    if(left[i].bounds.left < stage.nativeWindow.bounds.left){
    stage.nativeWindow.x +=
    left[i].bounds.left - currentScreen.bounds.left;
    stage.nativeWindow.y += left[i].bounds.top - currentScreen.bounds.top;
    }
    }
    }

    private function moveRight():void{
    var currentScreen:Screen = getCurrentScreen();
    var left:Array = Screen.screens;
    left.sort(sortHorizontal);
    for(var i:int = left.length - 1; i > 0; i--){
    if(left[i].bounds.left > stage.nativeWindow.bounds.left){
    stage.nativeWindow.x +=
    left[i].bounds.left - currentScreen.bounds.left;
    stage.nativeWindow.y += left[i].bounds.top - currentScreen.bounds.top;
    }
    }
    }

    private function moveUp():void{
    var currentScreen:Screen = getCurrentScreen();
    var top:Array = Screen.screens;
    top.sort(sortVertical);
    for(var i:int = 0; i < top.length - 1; i++){
    if(top[i].bounds.top < stage.nativeWindow.bounds.top){
    stage.nativeWindow.x += top[i].bounds.left - currentScreen.bounds.left;
    stage.nativeWindow.y += top[i].bounds.top - currentScreen.bounds.top;
    break;
    }
    }
    }

    private function moveDown():void{
    var currentScreen:Screen = getCurrentScreen();

    var top:Array = Screen.screens;
    top.sort(sortVertical);
    for(var i:int = top.length - 1; i > 0; i--){
    if(top[i].bounds.top > stage.nativeWindow.bounds.top){
    stage.nativeWindow.x += top[i].bounds.left - currentScreen.bounds.left;
    stage.nativeWindow.y += top[i].bounds.top - currentScreen.bounds.top;
    break;
    }
    }
    }

    private function sortHorizontal(a:Screen,b:Screen):int{
    if (a.bounds.left > b.bounds.left){
    return 1;
    } else if (a.bounds.left < b.bounds.left){
    return -1;
    } else {return 0;}
    }

    private function sortVertical(a:Screen,b:Screen):int{
    if (a.bounds.top > b.bounds.top){
    return 1;
    } else if (a.bounds.top < b.bounds.top){
    return -1;
    } else {return 0;}
    }

    private function getCurrentScreen():Screen{
    var current:Screen;
    var screens:Array = Screen.getScreensForRectangle(stage.nativeWindow.b ounds);
    (screens.length > 0) ? current = screens[0] : current = Screen.mainScreen;
    return current;
    }
    }
    }