IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Windows 8 64 bits composant ancré à droite


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Points : 45
    Points
    45
    Par défaut Windows 8 64 bits composant ancré à droite
    Bonjour,
    J'ai encore un problème avec Windows 8 version 64 bits et mes programmes écrits en Delphi 7.
    Si je bascule mon écran 1600x900 en version "Rendre le texte et d'autres élements plus petits..." configuration "Moyenne 125 %" la plupart de mes boîtes de dialogue ont une piètre allure.
    Par exemple un bouton à droite ancré à droite mais pas à gauche va disparaître complètement et impossible pour l'utilisateur de le voir.
    Malgré quelques explications trouvées sur internet (ex. Bug 25646 : ControlResizeBugFix.pas) je patauge toujours.
    Existe t-il une solution ?
    D'avance merci.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Est-ce que tes Align et Anchors sont bien défini ?
    Comment fonctionne le zoom de W8 ?
    Est-ce qu'il dessine plus grand ou est-ce qu'il change les tailles et le ratio pixelperinch ?

    Je connais cela de nom sous W7 mais je n'ai jamais vérifié comme cela fonctionnait
    En D6, dès XP, via ScaleBy, cela était déjà possible, cela zoomait Font, Size... mais pas les images des boutons

    Cherche sur le forum Scaled, ScaleBy ... tu as plein de sujet très détaillé

    Pour te donner une idée de la simplicité de ScaleBy, lorsque je suis passé sous C++Builder 2007, j'ai refait plein de truc pour m'entrainer à partir de mes connaissances acquises de D3 à D7

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //---------------------------------------------------------------------------
    __fastcall TVCLManipScaleByResizeForm::TVCLManipScaleByResizeForm(TComponent* Owner)
      : TForm(Owner)
    {
      DoubleBuffered = true;
      CurrentZoomMenu = miZoomPourcent100;
    }

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    //---------------------------------------------------------------------------
    void __fastcall TVCLManipScaleByResizeForm::MenuZoomPourcentClick(TObject *Sender)
    {
      TMenuItem *NewZoomMenu = (TMenuItem*)Sender;
      if (NewZoomMenu != CurrentZoomMenu)
      {
        if (((this->Width * NewZoomMenu->Tag / CurrentZoomMenu->Tag) < Screen->WorkAreaWidth)
          && ((this->Height * NewZoomMenu->Tag / CurrentZoomMenu->Tag) < Screen->WorkAreaHeight))
        {
          CurrentZoomMenu->Checked = false;
          NewZoomMenu->Checked = true;
     
          ScaleBy(NewZoomMenu->Tag, CurrentZoomMenu->Tag);
          CurrentZoomMenu = NewZoomMenu;
        }
      }
    }

    Code dfm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    object PopupMenuZoom: TPopupMenu
      Left = 48
      Top = 88
      object miZoomPourcent25: TMenuItem
        Tag = 25
        Caption = '25 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent50: TMenuItem
        Tag = 50
        Caption = '50 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent75: TMenuItem
        Tag = 75
        Caption = '75 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent100: TMenuItem
        Tag = 100
        Caption = '100 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent150: TMenuItem
        Tag = 150
        Caption = '150 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent200: TMenuItem
        Tag = 200
        Caption = '200 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent250: TMenuItem
        Tag = 250
        Caption = '250 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent300: TMenuItem
        Tag = 300
        Caption = '300 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent400: TMenuItem
        Tag = 400
        Caption = '400 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent500: TMenuItem
        Tag = 500
        Caption = '500 %'
        OnClick = MenuZoomPourcentClick
      end
      object miZoomPourcent750: TMenuItem
        Tag = 750
        Caption = '750 %'
        OnClick = MenuZoomPourcentClick
      end
    end

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Points : 45
    Points
    45
    Par défaut Scaled à False
    Merci pour la réponse, cela semble bien fonctionner.
    Comme expliqué par Mr Franck Soriano, j'ai simplement mis Scaled à false et ma fenêtre est à nouveau correcte.
    Ci-joint 2 copies d'écran de l'effet scaled.
    Mais attention piège : l'EDI de delphi subit le même sort.
    Lorsque Delphi 7 est lancé sous Windows 8 (avec agrandissent) toutes les formes subissent une réduction de la fenêtre intérieur (clientHeigth et ClientWidth) et donc par exemple des boutons ancrés à droite et pas à gauche ne seront plus visibles.
    Il faut manuellement revoir tous les ancrages de la forme pour revenir au dessin initial.
    Conclusion : surtout pas travailler sous Delphi en bureau agrandit de Windows 8
    Images attachées Images attachées   

Discussions similaires

  1. [SQL-Server] PHP5 et Windows server 64 bits
    Par heddicmi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/02/2008, 14h54
  2. commande d'installation de windows xp 64 bit en mode MS-DOS
    Par readymasters dans le forum Windows XP
    Réponses: 1
    Dernier message: 16/10/2007, 20h53
  3. Linux 64 bits sur Windows XP 32 bits
    Par molgow dans le forum Windows XP
    Réponses: 5
    Dernier message: 06/02/2007, 14h20
  4. Windows XP 64 bit, Bien ou Pas Bien ?
    Par ePoX dans le forum Windows XP
    Réponses: 12
    Dernier message: 27/12/2005, 15h10
  5. windows XP 64 bits et application 16 bits
    Par JeanMarc_T2k dans le forum Windows XP
    Réponses: 2
    Dernier message: 21/11/2005, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo